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
,以满足应用及客户端需求。