RestTemplateが採用するHTTPクライアント実装の順序
   1 min read

By default the built RestTemplate will attempt to use the most suitable ClientHttpRequestFactory

とありますが、具体的にどうやって決めているの?という話です。

ClientHttpRequestFactorySupplierをみると一目瞭然ですが、

  1. Apache HttpClient (org.apache.http.client.HttpClient) がクラスパスに存在すればそれを採用する

  2. OkHttp (okhttp3.OkHttpClient) がクラスパスに存在すればそれを採用する

  3. 上記のものがいずれも無ければ java.net.HttpURLConnection を採用する

という実装になっています。