Spring HATEOAS

Spring 에는 여러 프로젝트들이 존재한다.

그중 HATEOAS 란 프로젝트가 있다.

HATEOAS?

wikipedia 영어…

풀네임은 Hypermedia As The Engine Of Application State

원칙은 클라이언트가 응용 프로그램 서버에 의해 동적으로 제공되는 하이퍼 미디어를 통해 네트워크 응용 프로그램과 완전히 상호 작용한다는 것.

흠. ..

안되겠다..

UnderStanding Spring HATEOAS 를 보자.

A hypermedia-driven site provides information to navigate the site’s REST interfaces dynamically by including hypermedia links with the responses. This capability differs from that of SOA-based systems and WSDL-driven interfaces. With SOA, servers and clients usually must access a fixed specification that might be staged somewhere else on the website, on another website, or perhaps distributed by email.
하이퍼미디어 주도 사이트는 응답과 함께 하이퍼 미디어 링크를 추가하는 것으로 사이트의 Rest 인터페이스 정보를 제공하여 navigate할수 있게 한다.

오호라.

Spring HATEOAS는 HATEOAS 를 스프링 프레임워크에서 쉽게 이용하도록 하는 프로젝트 인거구나.

제공하는 예제를 보자.

Rest 접근방식으로 어떠한 리소스에 접근했을 때.

이용가능한 여러 링크들을 제공해줌으로써

클라이언트는 서버에 정의된 호출 인터페이스를 알고있을 필요가 없게된다.

상품 목록 API가 있을때.

각 상품 응답객체는 link정보로 상품상세 인터페이스를 갖게된다.

클라이언트는 해당하는 link정보로만 호출하면 되겠다.

사람이 어떠한 A라는 방에 들어갔을 때

또 다른 B라는 방으로 가기 위해선 , 가는 방법을 알아야만 갈 수 있다.

하지만 B로 가는 문을 A라는 방에 제공해준다면, 쉽게 B로 찾아갈 수 있다.

클라이언트는 다만 제공해주는 문을 열고 탐험하면 되겠다.

내일..나중에.. 코드상의 이해를 위해 example을 차근히 따라해보겠다.

HAL이란 것도 있다.

(Hypertext Application Language)

Spring HATEOAS(2)

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.