Spring HATEOAS
如果你开发使用超媒体的 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 WebFlux 中使用 Spring HATEOAS,你可以添加对 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 以满足你的应用程序及其客户端的需求。