본문 바로가기
기타

REST API의 HATEOAS

by yeonn108 2023. 4. 22.

hypermedia(링크)를 통해 리소스의 상태 전이가 가능해야 함 
-> response에 리소스에 대해 액션에 대한 정보(링크)를 제공하는 것
서버가 업데이트 되더라도 클라이언트는 업데이트 될 필요 없도록 

 

<예시>

{
  "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 주소
    }
  }
}

 

 

참고

https://wonit.tistory.com/454