- 앞서 0단계에서는 요청에서의 엔드포인트로 모두 /appointment를 사용하였지만, 1단계에서는 요청하는 리소스가 무엇인지에 따라 각기 다른 엔드포인트로 구분하여 사용.
- 더불어 요청에 따른 응답으로 리소스 사용에 대한 성공 또는 실패 여부를 반환 해야 한다.
- 먼저 예약 가능한 시간을 확인한다는 것은 예약 가능한 시간을
조회(READ)
하는 행위를 의미하고, 특정 시간에 예약한다는 것은 해당 특정 시간에 예약을생성(CREATE)
한다는 것과 같다.
조회(READ)
하기 위해서는GET
메서드를 사용하여 요청
- 이때
GET
메서드는body
를 가지지 않기 때문에query parameter
를 사용하여 필요한 리소스를 전달
생성(CREATE)
하기 위해서는POST
메서드를 사용하여 요청
- POST 요청에 대한 응답이 어떻게 반환되는지가 중요
- 이 경우 응답은 새롭게 생성된 리소스를 보내주기 때문에, 응답 코드는
201 Created
로 명확하게 작성해야 한다.- 관련 리소스를 클라이언트가
Location
헤더에 작성된 URI를 통해 확인할 수 있도록 하면 완벽하게 REST 성숙도 모델의 2단계를 충족한 것이라고 볼 수 있다.
- 응답 내에 새로운 링크를 넣어 새로운 기능에 접근할 수 있도록 하는 것이 3단계의 핵심 포인트
- 특정 의사의 예약 가능 시간을 확인한 후에는 그 시간대에 예약을 할 수 있는 링크를 삽입하거나,
- 특정 시간에 예약을 완료하고 나서는 그 예약을 다시 확인할 수 있도록 링크를 작성해 넣을 수도 있다.