실습
HATEOAS 란?
HATEOAS (Hypertext as the Engine of Application State) = 애플리케이션 상태의 엔진으로서의 하이퍼텍스트
쉽게 말해, API에서 클라이언트가 다음 단계들에 대해 알 수 있게, 안내를 포함하여야 한다는 의미.
예를 들어, getAccountBalance로 계좌에 금액을 받아왔을때, 그 이후에 할 수 있는 작업들 (depositMoney, withdrawMoney) 에 대한 링크 정보도 같이 제공한다.
장점
클라이언트에게 영향을 미치지 않고, URI 체계 변경 가능. 즉, API 업데이트시 유연하게 변경 가능
API를 사용하는 다른 개발자들에게 더 나은 개발 경험을 제공
URI 생성을 위해 HATEOAS에서 제공되는 3가지 추상화
RepresentationModelLinkWebMvcLinkBuilder
모델 4 가지
RepresentationModelCollectionModelEntityModelPagedModel
용어
Resource: API로 부터 넘어온 링크 정보를 포함한 정보를 포괄하여 리소스라고 칭한다.
종속성 추가
스프링 부트 아닐시
실습
linkTo()와 methodOn()는 hateoas 라이브러리에서 제공한다
CollectionModel은 HAL 리턴 타입을 준수한다
응답 결과
위 API의 getAllCustomers() 를 호출했을때 응답
API의 getOrdersForCustomer() 를 사용했을때 응답
유투브 자료
HATEOAS를 이용해, 어떻게 API를 유연하게 만들수 있는지 보여준다.
기존 클래스를 교체하다가
참고자료
https://www.baeldung.com/spring-hateoas-tutorial
Last updated