[HTTP/NETWORK] REST API

임명섭·2021년 10월 19일
0

REST API

REST(Representational State Transfer) API(Application Programming Interface)

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

Richardson 성숙도 모델(RMM)

0단계

0단계는 HTTP 프로토콜을 사용하는 Web API
이 경우 해당 API를 REST API라고 할 수는 없다.

1단계

1단계에서는 개별 리소스와의 통신을 준수해야 한다.
요청하는 리소스가 무엇인지에 따라 각기 다른 엔드포인트로 구분하여 사용해야 한다.

2단계

REST 성숙도 모델 2단계에서는 CRUD에 맞게 적절한 HTTP 메소드를 사용해야 한다.
GET 메소드 같은 경우는 서버의 데이터를 변화시키지 않는 요청에 사용해야 한다.
POST 는 요청마다 새로운 리소스를 생성한다.
PUT 은 요청마다 같은 리소스를 반환한다. PUT은 멱등성을 가진다.
PUT은 교체, PATCH는 수정의 용도로 사용한다.

3단계

HATEOAS(Hypertext As The Engine Of Application State)라는 하이퍼미디어 컨트롤을 적용한다.

Open API

Open API는 개발자라면 누구나 사용할 수 있도록 공개된 API를 말한다.

API Key

허용된 클라이언트만 자원에 접근할 수 있는 권한을 API Key로 부여한다. API Key를 요청과 함께 전달해야만 정확한 응답을 받을 수 있다.

profile
진화중인 초보 개발자

0개의 댓글