Hateoas
Hateoas
작성일 : 2022.04.05
TIL
REST_API
REST API
- REpresentational State Transfer
- 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미
- URI(Uniform Resource Identifier)을통해 자원을 명시하고 HTTP Method(POST, GET, PUT, DELETE)를 통해 자원에 대한 CRUD Operation을 적용하는 것
Hateoas
-
Hypermedia As The Engine Of Application State
-
애플리케이션의 상태를 관리하기 위해 하이퍼미디어(링크)를 사용한다는 것
-
즉, 클라이언트와 서버가 동적인 상호작용이 가능하도록 하는 것을 의미
-
링크를 통해서 애플리케이션 상태 전이가 가능해야 하고
-
링크에 자기 자신에 대한 정보가 담겨야 한다. (요청에 필요한 URI를 응답에 포함시켜 반환)
-
예시
//출처 : https://wonit.tistory.com/454 { "data": { // HAL JSON의 리소스 필드 "id": 1000, "name": "게시글 1", "content": "HAL JSON을 이용한 예시 JSON" }, "_links": { // HAL JSON의 링크 필드 "self": { "href": "http://localhost:8080/api/article/1000" // 현재 api 주소 }, "profile": { "href": "http://localhost:8080/docs#query-article" // 해당 api의 문서 }, "next": { "href": "http://localhost:8080/api/article/1001" // article 의 다음 api 주소 }, "prev": { "href": "http://localhost:8080/api/article/999" // article의 이전 api 주소 } } }