본문 바로가기
Spring Framework

Spring boot / Spring HATEOAS 간단 정리

by 자유코딩 2019. 2. 1.

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 를 사용한다.

댓글