Spring HATEOAS

如果你开发了一个使用超媒体的 RESTful API,Spring Boot 为 Spring HATEOAS 提供了自动配置,这适用于大多数应用。自动配置替代了使用 @EnableHypermediaSupport 的需求,并注册了许多 bean,以简化基于超媒体的应用构建,其中包括一个 LinkDiscoverers(用于客户端支持)和一个配置为正确将响应编组为所需表示形式的 ObjectMapperObjectMapper 可以通过设置各种 spring.jackson.* 属性或通过存在的 Jackson2ObjectMapperBuilder bean 进行自定义。

你可以通过使用 @EnableHypermediaSupport 来控制 Spring HATEOAS 的配置。请注意,这样做会禁用前面描述的 ObjectMapper 自定义。

spring-boot-starter-hateoas 特定于 Spring MVC,不应与 Spring WebFlux 结合使用。为了在 Spring WebFlux 中使用 Spring HATEOAS,你可以在 spring-boot-starter-webflux 的基础上直接添加对 org.springframework.hateoas:spring-hateoas 的依赖。

默认情况下,接受 application/json 的请求将收到 application/hal+json 响应。要禁用此行为,请将 spring.hateoas.use-hal-as-default-json-media-type 设置为 false,并定义一个 HypermediaMappingInformationHalConfiguration 来配置 Spring HATEOAS,以满足你的应用及其客户端的需求。