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,以滿足你的應用及其客戶端的需求。