我正在尝试通过HTTPS
协议连接到Web服务器,但response.getBody()
返回null
并且必须返回JSON数组。 statusCode
为200,标题包含正确的信息,只有正文为null
。我为此目的使用标准的Spring RestTemplate
API(postForEntity()
)。也许为了做到这一点,我必须使用一些特殊的Sping API?
不幸的是,我在Spring REST文档中找不到有关HTTPS
支持和SSL
/'TLS'证书的任何信息(这是非常有限的)。
答案 0 :(得分:18)
您可以使用RestTemplate
配置HttpComponentsClientHttpRequestFactory
,例如:
<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,因此您可能几乎不需要配置。