@Retention(value=RUNTIME) @Target(value=TYPE) @Documented @Import(value=DelegatingWebFluxConfiguration.class) public @interface EnableWebFlux
@Configuration クラスに追加すると、WebFluxConfigurationSupport から Spring WebFlux 構成がインポートされ、アノテーション付きコントローラーと関数エンドポイントの使用が可能になります。例:
@Configuration
@EnableWebFlux
@ComponentScan(basePackageClasses = MyConfiguration.class)
public class MyConfiguration {
}
インポートされた構成をカスタマイズするには、WebFluxConfigurer とそのメソッドの 1 つ以上を実装します。
@Configuration
@EnableWebFlux
@ComponentScan(basePackageClasses = MyConfiguration.class)
public class MyConfiguration implements WebFluxConfigurer {
@Override
public void configureMessageWriters(List<HttpMessageWriter<?>> messageWriters) {
messageWriters.add(new MyHttpMessageWriter());
}
// ...
}
Spring WebFlux 構成をインポートするには、@Configuration クラスに @EnableWebFlux アノテーションが必要です。ただし、提供された構成をカスタマイズする WebFluxConfigurer を実装する複数の @Configuration クラスが存在する場合があります。
WebFluxConfigurer で設定が必要な設定が公開されていない場合は、@EnableWebFlux アノテーションを削除し、WebFluxConfigurationSupport または DelegatingWebFluxConfiguration から直接拡張することで拡張モードに切り替えることを検討してください。後者では、1 つ以上の WebFluxConfigurer 構成クラスを検出および委譲できます。
WebFluxConfigurer, WebFluxConfigurationSupport, DelegatingWebFluxConfiguration