티스토리 뷰
HATEOAS(Hypermedia As The Engine Of Application State)
- Hypermedia : 하나의 컨텐츠가 텍스트, 이미지 등 다양한 컨텐츠를 Link 하는 개념
- HATEOAS는 로이필딩이 쓴 REST 관한 논문의 Uniform Interface의 주요 부분 중 하나
- 즉, Http Requeset에 대한 Response에 link에 대한 정보를 제공해줌으로써, Pesponse를 통해 다른 Request를 연결-연결-연결 해서 요청 가능함 예를들어, 서버에서 "/posts" POST 이라는 요청이 "/post" POST으로 변경되었다고 가정 할 경우, Link를 통해 정보를 제공해주면 클라이언트에서는 소스 변경 없이 정보 제공이 가능함.
- 이를 통한 목적은 Client와 Server의 DeCoupling
- Spring에서는 spring-hateoas를 제공하여 쉽게 REST의 HATEOAS라는 개념을 적용 할 수 있도록 제공하고있음
정리
그래서 결국 이 HATEOAS까지 만족해야 REST API라고 할 수 있다. 로이 필딩은 어딘가에서 이렇게 말했다고한다. REST를 꼭 따를 필요는 없다. 하지만 명세를 따르지 않으면 REST라고 말하지말라고. 대부분의 기업에서 REST 명세를 명확하게 다 따르지는 않는 것 같다. 나도 그렇다.
참고
https://en.wikipedia.org/wiki/HATEOAS
https://spring.io/guides/gs/rest-hateoas
https://www.baeldung.com/spring-hateoas-tutorial
댓글