Spring HATEOAS

ハイパーメディアを利用する RESTful API を開発する場合、Spring Boot は Spring HATEOAS の自動構成を提供し、ほとんどのアプリケーションで適切に動作します。この自動構成により、@EnableHypermediaSupport (Javadoc) を使用する必要がなくなり、ハイパーメディアベースのアプリケーションの構築を容易にする多数の Bean が登録されます。これには、クライアント側サポート用の LinkDiscoverers (Javadoc) や、レスポンスを目的の表現に正しくマーシャリングするように設定された JsonMapper (英語) が含まれます。JsonMapper (英語) は、spring.jackson.* の各種プロパティ、または存在する場合は JsonMapperBuilderCustomizer (Javadoc) Bean を設定することでカスタマイズできます。

@EnableHypermediaSupport (Javadoc) を使用して Spring HATEOAS の構成を制御できます。これを行うと、前述の JsonMapper (英語) のカスタマイズが無効になることに注意してください。

spring-boot-starter-hateoas は Spring MVC に固有であり、Spring WebFlux と組み合わせないでください。Spring HATEOAS を Spring WebFlux と一緒に使用するために、spring-boot-starter-webflux とともに org.springframework.hateoas:spring-hateoas への直接依存関係を追加できます。

デフォルトでは、application/json を受け入れるリクエストは application/hal+json レスポンスを受け取ります。この動作を無効にするには、spring.hateoas.use-hal-as-default-json-media-type を false に設定し、HypermediaMappingInformation (Javadoc) または HalConfiguration (Javadoc) を定義して、アプリケーションとそのクライアントのニーズを満たすように Spring HATEOAS を構成します。