HAL ( Hypertext Application Language ) : API 리소스들 사이에 쉽게 일관적인 하이퍼링크를 제공한다.
HAL이 API에 적용되면 API 간에 쉽게 검색이 된다.
말보다 간단하게 적용 전후를 한번 보자.
HAL 적용 전의 API
[
{
"productId": 1,
"name": "ABC",
"description": "Product ABC",
"unitPrice": 9.99
},
{
"productId": 2,
"name": "XYZ",
"description": "Product XYZ",
"unitPrice": 19.99
}
]
HAL 적용 후의 API
{ "_links": { "self": { "href": "/product/1" }, "collection": { "href": "/products" }, "templated": { "href": "/product/{productId}", "templated": true } }, "productId": 1, "name": "ABC", "description": "Product ABC" "unitPrice": 9.99 }
HTTP API 가 아닌 REST API 를 만든다면 HAL을 적용해야 한다.
RestAPI에 HAL 개념이 적용이 되면 개발 경험을 좋게 만들 수 있다.
HAL 적용하는 방법은 여러가지가 있겠지만.
스프링 프레임워크에서는 HATEOAS 를 사용한다.
'Spring Framework' 카테고리의 다른 글
스프링 부트에서 HATEOAS 를 적용하는 2가지 방법 (2) | 2019.02.08 |
---|---|
@Parameters 애너테이션으로 테스트 하기 (0) | 2019.02.06 |
@Notnull , @Min 으로 검증 할 수 없는 입력 값 검증하기 - Validator 클래스 만들기 (0) | 2019.01.18 |
@Valid 애너테이션 사용해서 값 검증하기 (2) | 2019.01.17 |
BadRequest 로 응답해서 입력 값 제한하기 (0) | 2019.01.16 |
댓글