클라이언트와 서버의 통신을 담당하는 API
-> api는 웹의 통신규약인 http를 이용
-> 웹 애플리케이션에서는 HTTP 메서드를 이용해 서버와 통신
💡
REST API
는 웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식
총 4단계(0~3단계)로 구성
REST 성숙도 모델 - 0단계
HTTP 프로토콜을 사용
REST 성숙도 모델 - 1단계
개별 리소스(Resource)와의 통신을 준수
= 웹에서 사용되는 모든 데이터나 자원(Resource)을 HTTP URI로 표현
💡 어떤 리소스를 변화시키는지 혹은 어떤 응답이 제공되는지에 따라 각기 다른 엔드포인트를 사용하기 때문에, 적절한 엔드포인트를 작성하는 것이 중요
REST 성숙도 모델 - 2단계
CRUD에 맞게 적절한 HTTP 메서드를 사용하는 것에 중점
HTTP 메서드를 사용할 때의 규칙
- POST 메서드 : 요청마다 새로운 리소스를 생성
- GET 메서드 : 서버의 데이터를 변화시키지 않는 요청에 사용
- 수정에 사용되는 http 메소드
- 전체 내용 변경 : put (교체)
- 부분의 내용 변경 : patch (수정)
REST 성숙도 모델 - 3단계
HATEOAS(Hypertext As The Engine Of Application State)의 약어로 표현되는 하이퍼미디어 컨트롤 적용
응답 내에 새로운 링크를 넣어 새로운 기능에 접근할 수 있도록 하는 것이 3단계의 핵심 포인트!