`WebClient` の 覚書
   1 min read

RestTemplateBuilderBean がsingleton-socpeかつちょっと変態的なインスタンス生成を行っていたので驚いた、というエントリを昔書きました:

ところで、現時点で RestTemplate は既に maintenance mode なので、新規実装に用いるのは忍びないなあ、と思い、 WebClient を利用する前提で薦めることにしました。

  • 利用するには spring-boot-starter-webflux を依存関係に追加する。(4.16.1. WebClient Runtime)

    • なお、Spring MVC と Spring WebFlux が同居する場合、デフォルトで Spring MVC が有効化されるhttps://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/htmlsingle/#boot-features-web-environment[4.1.8. Web Environment])。

  • RestTemplateBuildr と異なり WebClient.Builder クラスは Spring Boot所属のクラスではない

  • WebClientAutoConfiguration によってインジェクトされる Builder は prototype-scope。

RestTemplateBuilder は singlton-scopeで何か設定を与える度にインスタンスを生成し直して…みたいな歪な感じになっていたのに対し、こちらは素直なものになっているようです。