레알윙 2021. 1. 23. 14:31
반응형

스프링 HATEOAS 소개

스프링 HATEOAS란?

Hypermedia As The Engine Of Application State로  REST 아키텍처의 한 구성요소입니다. 이 HATEOAS를 통해서 어플리케이션의 상태를 전이할 수 있는 메커니즘을 제공해줄 수 있다.

공식 사이트 : 
https://docs.spring.io/spring-hateoas/docs/current/reference/html/

 

아래 소스코드를 보자. 먼저 클라이언트가 서버에 요청할 것이다.(요청예시) 그러면 요청상태에 따른 결과를 클라이언트에게 보여줄 것이다.(응답예시1, 응답예시2) 더 쉽게 말한다면 클라이언트는 서버에 12345에 대한 정보조회를 요청하였고, 서버는 12345에 대한 정보를 조회한 다음 결과를 사용자에게 제공한 것이다. 즉 상태의 정보에 따라서 내용이 바뀌어야 한다.  더 나아가서는 서버 측에서 받은 링크의 레퍼런스를 통해 어플리케이션의 상태 및 전이를 표현할 수 있다.

WIKI에서 말하는 요청 예시
WIKI에서 말하는 응답 예시1
WIKI에서 말하는 응답 예시2

 

Spring HAETOAS

Spring HAETOAS 설명

Spring HAETOAS에서는 위에 설명한 HATEOAS를 만족시키기 위한 기능들이 존재하는게 크게 보면 2가지로 나뉜다.

  • 링크를 만드는 기능
    • 문자열을 가지고 만들기
    • 컨트롤러와 메소드로 만들기
  • 리소스를 만드는 기능
    • 리소스 + 데이터

리소스란?

우리가 서버에게 전달해야되는 본문 내용(유저글, 게시판 내용 등등..)과 Links 정보이다.. 더 나아가 리소스 안에는 또 다른 리소스들이 존재할 수 있다.

리소스 정보

링크 찾아주는 기능

  • Traverson
  • LinkDiscoverers

링크

  • HREF
    • URI나 URL을 설정
  • REL
    • 리소스와의 관계
    • self : 자기자신
    • profile : Resorce에 대한 응답 문서
    • update-event : 언제 이벤트가 발생되었는데
    • query-events : 업데이트 조회기능
반응형