[Back-end] HATEOAS

Geun·2022년 4월 3일
0

Back-end

목록 보기
44/74

HATEOAS

HATEOAS(Hypermedia As The Engine Of Application State)는 하이퍼미디어를 애플리케이션의 상태를 관리하기 위한 매커니즘으로 사용하는 것이다.

Hateoas는 REST API를 사용하는 클라이언트가 전적으로 서버와 동적인 상호작용이 가능하도록 한다.
이런 방법은 클라이언트가 서버로부터 어떤 요청을 할 때 요청에 필요한 URI를 응답에 포함시켜 반환하는 것으로 가능하다.

REST API 1 , 2에 작성했던 글처럼
REST 구현단계는 다음과 같다.

HATEOAS 사용

계좌번호가 12345 인 계좌의 정보를 조회하는 경우
해당 계좌의 상태에 따라 접근가능한 추가 API들이 LINKS라는 이름으로 제공된다.

기존의 REST API 응답의 경우

{
	"account_id" : 12345,
    "balance" : "15,000"
}

Hateoas가 적용된 응답 (URI 정보를 응답에 추가함)

{
	"account_id" : 12345,
    "balance" : "15,000",
    "links" : [
    	{
        	"rel" : "self",
            "href" : "http://localhost:8080/accounts/12345"
        },
        {
        	"rel" : "withdraw",
            "href" : "http://localhost:8080/accounts/12345/withdraw"
        },
        {
        	"rel" : "transfer",
            "href" : "http://localhost:8080/accounts/12345/transfer"
        }
    ]
}

이런 식으로 Hateoas를 사용하게 되면 누릴 수 있는 장점은
Client 사이드에서는 "rel"의 이름으로 요청 URI를 사용하기 떄문에 URI수정이 발생해도 Client 사이드는 수정이 이루어지지 않는다.

참고자료

https://wonit.tistory.com/454
https://joomn11.tistory.com/26
https://pjh3749.tistory.com/260

0개의 댓글