https://docs.spring.io/spring-boot/docs/3.2.0/reference/htmlsingle/#web.spring-hateoas
如果你开发了一个使用超媒体(hypermedia)的 RESTful API,Spring Boot 为 Spring HATEOAS 提供了自动配置,这可以与大多数应用程序很好地配合。这种自动配置取代了使用 @EnableHypermediaSupport
的需要,并注册了一些 bean,以便简化基于超媒体的应用程序的构建,包括 LinkDiscoverers
(用于客户端支持)以及一个 ObjectMapper
,它被配置为正确地将响应转换为所需的表示形式。ObjectMapper
可以通过设置各种 spring.jackson.* 属
性进行自定义,或者如果存在,也可以通过一个 Jackson2ObjectMapperBuilder
bean 进行自定义。
你可以通过使用 @EnableHypermediaSupport
来控制 Spring HATEOAS 的配置。请注意,这样做将禁用前面描述的 ObjectMapper
自定义。
注意:spring-boot-starter-hateoas
是专门针对 Spring MVC 的,不应与 Spring WebFlux 结合使用。为了将 Spring HATEOAS 与 Spring WebFlux 一起使用,你可以直接添加对 org.springframework.hateoas:spring-hateoas
的依赖,并同时添加 spring-boot-starter-webflux
。
默认情况下,接受 application/json
的请求将收到 application/hal+json
的响应。要禁用此行为,请将 spring.hateoas.use-hal-as-default-json-media-type
设置为 false
,并定义一个 HypermediaMappingInformation
或 HalConfiguration
,以配置 Spring HATEOAS 以满足你的应用程序及其客户端的需求。