アノテーションインターフェース 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
関連事項: