Rest API의 개념

Hover·2023년 3월 29일
0

Javascript

목록 보기
5/6

1. Rest API 디자인

Rest API 는 웹에서 사용되는 데이터나 자원을 HTTP URI로 표현하고,

HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식이다.

Rest API를 작성할 때는 지켜야 할 몇가지 규칙이 있다.

2. 0단계

0단계는 Rest API를 작성하기 위한 기본 단계다.

이 단계는 단순히 HTTP 프로토콜만 사용해도 되지만, REST API라고 할 수는 없다.

어떤 특정 시간에 예약하는 로직이 있다고 가정하면

0단계에선 HTTP 프로토콜만 사용해도 된다.

3. 1단계

1단계에서는 0단계 모델에서 개별 리소스와의 통신을 준비한다.

Rest API는 웹에서 사용되는 모든 데이터나 자원을 URI로 표현한다.

하지만, 모든 자원을 접근하는것은 비효율적이니, 요구사항에 필요한 포인트를 엔드포인트 로 설정한다.

위 엔드포인트는 각각 /doctors/허준/slots/123 이 엔드포인트로 설정되있다.

예약해야할 의사와 특정 id의 손님이 엔드포인트로 된 것이다.

추가로, 해당 엔트포인트 사용 시 실패 여부를 포함한 응답도 받아야한다.

4. 2단계

2단계에서는 CRUD에 맞게 적절한 HTTP 메서드를 사용하는 것이 주된 요점이다.

기존 0,1 단계에서는 모두 POST 를 사용했지만,

첫 번째 경우인 예약 시간을 확인할 때에는 데이터를 조회하는 GET 메소드가 적절하고

두 번째 경우인 특정 시간에 예약하는 것은 POST 메소드가 적절하다.

다만, 메서드를 사용할 때 주의할 점이 있다.

  • GET 메서드 같은 경우는 서버의 데이터를 변화시키지 않는 요청에 사용해야 함.
  • POST 메서드는 요청마다 새로운 리소스를 생성, PUT 메서드는 같은 리소스를 반환, 따라서 상황에 맞게 구분해서 사용.

5. 3단계

마지막 3단계는 하이퍼미디어 컨트롤(HATEOAS)를 적용한다.

3단계와 2단계와의 차이는 "응답"에 있다.

응답에 리소스의 URI를 포함한 링크 요소를 삽입한다.

예약 가능한 시간 확인 후 예약이 가능하면 사용자는 그 시간대에 예약을 할 것이다.

따라서, 특정 시간에 예약할수 있는 링크를 POST를 통해 넣어준다.

profile
프론트엔드 개발자 지망생입니다

0개의 댓글