[스프링] 스프링 HATEOAS와 JSON 형식의 표현
스프링 HATEOAS는 Hypermedia As The Engine Of Application State의 약자로, restful 서비스를 구축할 때 하이퍼미디어를 이용하여 클라이언트와 서버간의 통신을 한층 더 향상시킬 수 있는 도구입니다.
JSON 형식의 표현
스프링 HATEOAS는 JSON 형식으로 API를 표현하는 데 매우 유용합니다. 예를 들어, 다음은 스프링 부트와 스프링 HATEOAS를 이용하여 JSON 포맷으로 간단한 API를 만드는 예제입니다.
@GetMapping("/users/{id}")
public ResponseEntity<EntityModel<User>> getUser(@PathVariable Long id) {
User user = userRepository.findById(id)
.orElseThrow(() -> new UserNotFoundException(id));
return ResponseEntity.ok(entityModelOf(user));
}
여기서 EntityModel
은 스프링 HATEOAS의 클래스로, 해당 리소스에 대한 링크 정보를 포함하고 있습니다. 이를 통해 클라이언트는 리소스에 연결된 다른 리소스로 쉽게 이동할 수 있습니다.
결론
스프링 HATEOAS를 사용하면 JSON 형식의 API를 더 풍부하고 유연하게 표현할 수 있습니다. 이는 클라이언트-서버 간의 통신을 향상시키며, restful 서비스를 더욱 효율적으로 구축할 수 있게 도와줍니다.
더 많은 정보를 원하시면 스프링 공식 문서를 참고해보세요!