- 웹 app에서는 HTTP 매소드를 사용하여 서버와 통신한다.
이때, requests와 responses를 어떻게 하는 것이 좋을까? - 이에 대한 해답으로 가장 대표적인 API 아키텍쳐인 REST API가 있다.
🍅 REST: Representational State Transfer - REST API는 웹에서 사용되는 데이터/자원을 HTTP URI로 표현하여 HTTP를 통해 요청(requests)과 응답(responses)을 정의하는 방식이다.
즉, 서버와 클라이언트의 효율적인 통신을 위해서 REST API를 따라서 문서를 작성하는 것이다.
REST 원리를 따르는 시스템을 RESTful 이라고 표현하기도 한다.
- 좋은 REST API를 작성하기 위해서 리차드슨의 REST 성숙도 모델을 참조할 수 있다.
🎁 2단계까지만 충족해도 좋은 API 디자인, HTTP API라고 할 수 있다.
리차드슨의 REST 성숙도 모델
- 0단계 > HTTP 사용
- 1단계 > 개별 리소스와의 통신 준수
🌽 개별 리소스에 맞는, 리소스 중심의 올바른 endpoint를 작성, 사용한다.
요청하여 받은 리소스에 대한 정보를 응답으로 전달한다.
- 2단계 > HTTP 메소드 원칙 준수
🫒 CRUD에 맞게 적절한 HTTP 메소드를 사용하는 것에 중점을 둔다.
적절한 응답 코드와 리소스에 대한 정보를 기재한다.
- 3단계 > HATEOAS 원칙 준수
🍍 응답에는 리소스의 URI를 포함한 링크요소를 삽입하여 작성한다.
이를 통해서 사용자에게 새로운 기능에 접근할 수 있게한다.
2단계까지 준수하여 좋은 REST API를 디자인할 수 있다.
참고 자료들
https://ko.wikipedia.org/wiki/REST
REST - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 대한민국의 힙합 음악가에 대해서는 R-EST 문서를 참고하십시오. REST(Representational State Transfer)는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프
ko.wikipedia.org
https://meetup.nhncloud.com/posts/92
REST API 제대로 알고 사용하기 : NHN Cloud Meetup
REST API 제대로 알고 사용하기
meetup.nhncloud.com
'기타' 카테고리의 다른 글
React 이후의 웹 프레임워크들 (0) | 2023.06.02 |
---|---|
유용한 VSCode 확장 도구들 추천 (0) | 2023.05.17 |
HTML 시맨틱 태그 알아보기 (Semantics) (0) | 2023.04.22 |
브라우저 렌더링 과정과 DOM, CSSOM, layout, paint (0) | 2023.04.21 |
Process Scheduling이란? (0) | 2023.04.14 |