web-dev-qa-db-ja.com

SpringLibraryのREST(RestTemplate)はHTTPSプロトコルをサポートしていますか?

HTTPSプロトコルを介してWebサーバーに接続しようとしていますが、response.getBody()nullを返し、JSON配列を返す必要があります。 statusCodeは200で、ヘッダーには正しい情報が含まれています。本文のみがnullです。この目的のために、標準のSpring RestTemplate AP​​Iを使用します(postForEntity())。たぶんこれを行うには、特別なSping APIを使用する必要がありますか?

残念ながら、Spring RESTドキュメント(かなり制限されています)でHTTPSサポートとSSL/'TLS'証明書に関する情報を見つけることができませんでした。

11

次に、RestTemplateHttpComponentsClientHttpRequestFactoryで構成できます。

<bean id="httpComponentsClientHttpRequestFactory" class="org.springframework.http.client.HttpComponentsClientHttpRequestFactory"/>

<bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
    <constructor-arg ref="httpComponentsClientHttpRequestFactory"/>
</bean>

これにより、RestTemplateは内部で Apache HttpComponents HttpClient を使用できます。これは、SSLを確実にサポートします。

HttpClientが提供するHttpComponentsClientHttpRequestFactoryはすぐにSSLをサポートしているように見えるので、あなたの側で設定はほとんど必要ないかもしれません。

19
Jonathan