새소식

[5분 내로] 강의실/📋 그런 rest api로 괜찮은가?

[5분 내로] REST의 제약조건 HATEOS란?

728x90

안녕하세요. 팀드모네입니다.

REST의 제약조건인 HATEOS에 대해서 짧고 간결하게 설명하겠습니다.

하단에 기술된 내용은 2000년에 발표된 로이필딩의 REST 논문을 참고하였습니다.


👨‍💻 HATEOAS란?
- 요약 : 링크를 통한 어플리케이션의 상태 전이(轉移)를 알려라!

어플리케이션의 상태 전이라는 것은 어감이 좀 어렵다. 대충 화면의 전환이라고 생각하면 좋을 것 같다.

HATEOAS는 Hypermedia As The Engine of Application State의 약자입니다. 페이지를 이동할 때, 해당 페이지에 있던 링크(하이퍼링크)를 따라서 이동해야한다는 제약조건입니다.

 

예를들어, 게시글의 상세보기를 하는 기능이 있다고 가정하겠습니다.

GET https://ogx4.com/board2/post/5

 

이 페이지에 접속한 사용자가 다음으로 할 수 있는 행동들입니다.

-> 게시물 리스트로 이동하기

-> 게시물 수정하기

-> 마이페이지로 이동하기

아무튼 HATEOAS는 어플리케이션의 상태 전이를 Hypermedia(링크)로 응답 본문에 넣으라는 의미이다.

 

👨‍💻 JSON을 이용한 HATEOAS 달성 예제

{
  "data": {
    "id": 1,
    "name": "게시글 상세보기",
  },
  "_links": {
    "self": {
      "href": "https://ogx4.com/board2/post/5" // 현재 주소
    },
    "next": {
      "href": "https://ogx4.com/board2/post/6" // 다음 주소
    },
    "prev": {
      "href": "https://ogx4.com/board2/post/4" // 이전 주소
    }
}

 

👨‍💻 마지막으로 REST FULL 한 줄 요약
REST의 제약조건을 모두 지키는 소프트웨어입니다. 즉, 제약조건을 단 하나라도 지키지 못했다면 결코 REST가 아닌 것입니다. REST에는 십중팔구가 없습니다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.