Rest에 대한 이해
14 Apr 2018Restful 시스템은 6가지 제약조건들이 있다.
https://en.wikipedia.org/wiki/Representational_state_transfer
6가지 제약조건 중 Uniform interface은 세부적으로 4가지 제약조건을 가지고 있고 4가지 제약조건 중 Self-descriptive messages와 Hypermedia as the engine of application state를 정리해 보면 다음과 같다.
Self-descriptive messages
메시지에 대한 충분한 정보가 포함되어야 한다.
- 방법1: 미디어 타입을 정의해서 IANA에 등록하고 리소스를 리턴할 때 Content-Type으로 사용한다.
- 방법2: 대안으로 HAL의 링크 데이터에 profile 링크 추가
Hypermedia as the engine of application state (HATEOAS)
REST 클라이언트는 Restful 시스템이 제공한 링크를 사용하여 필요한 모든 리소스를 검색 할 수 있어야 한다. 즉 현재 사용 가능한 다른 리소스에 대한 하이퍼 링크가 응답에 포함되어 있어야 한다. 따라서 클라이언트는 다른 리소스에 대해 하드 코딩 할 필요가 없다.
- 방법: HAL을 이용한 데이터 링크 제공
참고 사항
HAL의 미디어 타입
- application/hal+xml
- application/hal+json