RESTful API
REST
-
REST: Representational State Transfer의 줄임말.
-
표현 방식
-
자원: URL
-
행위: HTTP Method
-
표현: 응답
-
-
자원에 고유한 URIUniform Resource Identifier를 할당함으로써 표현력 있는 API를 정의하기 위한 아키텍처
representation
-
이거보고 정리
-
서버가 보내준 '것’은 '리소스’가 아니다. 'representation data’이다.
-
GET 메서드가 하는 일
-
'target resource’에 대해서 현재 선택된 'representation' 하나를 전달하는 것.
-
-
'target resource’는 uri가 가르키는 리소스
-
'representation’은 어떤 리소스의 특정 시점의 상태를 반영하고 있는 정보.
-
representation은 representation data와 representation metadat로 구성됨.
HATEOAS
-
Hypermidia As The Engine Of Application State
-
REST API를 사용하는 클라이언트가 전적으로 서버와 동적인 상호작용이 가능하도록 하는 것
조건
규칙
-
URL 경로는 소문자 (RFC 3986 참고)
-
URI에 밑줄 말고 하이픈 사용
-
URI 마지막에 슬래시 포함하지 않음
-
파일 확장자는 URI에 포함하지 않음 → 헤더
-
URI는 명사
-
표현 방법
-
has 관계를 표현할 때:
/users/{id}/devices -
서브 시소스를 명시적으로 표현하는 방법:
/users/{id}/likes/devices
-
-
document, collection 표현 방법
-
document: 문서/객체
-
collection: 문서의 집합/객체의 집합, 복수로 표현
-
모두 리소스로 URI에 표현
-
/sports/soccer/players/13: sports, players 컬렉션, soccer 도큐먼트
-