アノテーションインターフェース EnableWebFlux


このアノテーションを @Configuration クラスに追加すると、WebFluxConfigurationSupport から Spring WebFlux 構成がインポートされ、アノテーション付きコントローラーと関数エンドポイントの使用が可能になります。

例:

 @Configuration
 @EnableWebFlux
 @ComponentScan
 public class MyConfiguration {
 }
 

インポートされた構成をカスタマイズするには、WebFluxConfigurer とそのメソッドの 1 つ以上を実装します。

 @Configuration
 @EnableWebFlux
 @ComponentScan
 public class MyConfiguration implements WebFluxConfigurer {

     @Autowired
     private ObjectMapper objectMapper;

     @Override
     public void configureHttpMessageCodecs(ServerCodecConfigurer configurer) {
         configurer.defaultCodecs().jackson2JsonEncoder(
             new Jackson2JsonEncoder(objectMapper)
         );
         configurer.defaultCodecs().jackson2JsonDecoder(
             new Jackson2JsonDecoder(objectMapper)
         );
     }

     // ...
 }
 

Spring WebFlux 構成をインポートするには、@Configuration クラスに @EnableWebFlux アノテーションが必要です。ただし、提供された構成をカスタマイズする WebFluxConfigurer を実装する複数の @Configuration クラスが存在する場合があります。

WebFluxConfigurer で設定が必要な設定が公開されていない場合は、@EnableWebFlux アノテーションを削除し、WebFluxConfigurationSupport または DelegatingWebFluxConfiguration から直接拡張することで拡張モードに切り替えることを検討してください。後者では、1 つ以上の WebFluxConfigurer 構成クラスを検出および委譲できます。

導入:
5.0
作成者:
Brian Clozel, Rossen Stoyanchev
関連事項: