[HTTP/네트워크] REST API

Yuni·2022년 8월 5일
0

코드스테이츠

목록 보기
27/39

REST API(Representational State Transfer)란?

REST API는 웹에서 사용되는 데이터나 자원을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식이다.

REST API 작성 규칙

0~3단계까지 총 4단계가 있지만 3단계까지 지키기는 어렵기 때문에 2단계까지만 적용해도 좋은 API 디자인이라고 볼 수 있다.
👉 이를 HTTP API라고 부른다.

0단계 - HTTP 사용

0단계에서는 단순히 HTTP 프로토콜을 사용하기만 해도 된다. 물론 이 경우 해당 API를 REST API라고 할 수는 없으며 0단계는 REST API를 작성하기 위한 기본 단계이다.

1단계 - 개별 리소스와의 통신 준수

1단계에서는 개별 리소스와의 통신을 준수해야 한다. 모든 자원은 개별 리소스에 맞는 엔드포인트를 사용해야하며 요청하고 받는 자원에 대한 정보를 응답으로 전달해야 한다는 것이다.

👉 엔드포인트 작성 시 리소스에 집중해서 명사 형태의 단어로 작성해야한다. ex) /doctors/허준
👉 요청에 대한 정보를 응답에 넣어서 전달해야한다. ex) 예약에 성공하면 성공한 내역, 실패하면 실패한 내역

2단계 - HTTP 메소드 원칙 준수

2단계에서는 CRUD에 맞는 적절한 HTTP 메서드를 사용해야 한다. [HTTP] HTTP 메서드

3단계 - HATEOAS 원칙 준수

3단계의 요청은 2단계와 동일하지만 응답에 리소스의 URI를 포함한 링크 요소를 삽입하여 작성해야 한다. 이때 응답에 들어가게 되는 링크 요소는 응답을 받은 다음에 할 수 있는 다양한 액션들을 위해 많은 하이퍼미디어 컨트롤을 포함하고 있다.

예를 들어 허준이라는 의사의 예약 가능 시간을 확인한 후에는 그 시간대에 예약을 할 수 있는 링크를 삽입하거나, 특정 시간에 예약을 완료하고 나서는 그 예약을 다시 확인할 수 있도록 링크를 작성해 넣을 수도 있다. 이렇게 응답 내에 새로운 링크를 넣어 새로운 기능에 접근할 수 있도록 하는 것이 3단계의 핵심 포인트이다.

📌 정리
REST API를 준수하기 위해서는 (1) HTTP 프로토콜을 사용하고 (2) 엔드포인트에 명사 형태의 자원을 작성하고 (3) CRUD에 따른 적절한 HTTP 메소드를 사용해야 하며 (4) 응답에 링크를 포함하여 새로운 기능에 접근할 수 있도록 해야한다.

profile
배운 것을 기억하기 위해 기록합니다 😎

0개의 댓글