오늘의 학습 내용
웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식
HTTP 프로토콜을 사용해야하며 REST API 작성의 기초단계임.
요청: POST/appointment
웹에서 사용되는 모든 데이터나 자원(Resource)에 대해 개별 리소스에 맞는 통신을 준수해야 함.
요청 : 예약 시간 조회 / 특정 시간 예약 가능여부에 따른 요청 분리.
-POST / doctors / 허준
-POST / slots / 123
엔드포인트는 리소스에 집중하여 '명사형' 으로 작성하는 것이 좋음.
-(나쁜 예) POST / click
-(좋은 예) POST / slots / 123
: 예약 진행 후, 123번 자리 확보
-(나쁜 예) GET / inquiry
-(좋은 예) GET / doctors / kim
: 주치의 'kim'에 대한 예약 현황
응답 리소스를 전달시에도 리소스에 정보와 리소스 사용에 대한 성공/실패 여부를 반환해야 함
CRUD에 맞게 적절한 HTTP 메서드를 사용해야 함.
Create - POST 메소드 사용(요청할 때 마다 새로운 리소스 생성)
READ - GET 메소드와 query paramater를 이용하여 작성
Update - PUT(요청할 때 마다 같은 리소스 반환 - 멱등성) : 교체 / PATCH 메소드 : 수정
HATEOAS(Hypertext As The Engine Of Application State) 단계
요청은 2단계와 동일하지만, 응답에는 리소스의 URI를 포함한 링크 요소를 삽입하여 작성해야 함.
응답에는 응답 후, 다음 액션을 위한 하이퍼미디어 컨트롤을 포함함.
예) 예약 시간 확인 후, response에 해당 예약 시간에 예약 기능 링크 삽입
Open API의 형태로 제공하는 공공데이터. Open API를 이용하기 위해서는 API Key가 필요함
: HTTP 요청은 '메소드 + url'의 조합으로 이루어짐