11

我正在尝试通过 连接到 Web 服务器HTTPS,但response.getBody()返回null但我想返回 JSON 数组。是statusCode200 并且标头包含正确的信息,但响应正文是null. RestTemplate为此,我专门使用标准 Spring API postForEntity()。也许为了做到这一点,我必须使用一些特殊的 Spring API?

不幸的是,我在 Spring REST 文档中找不到有关HTTPS支持和SSL/'TLS' 证书的任何信息(它非常有限)。

4

1 回答 1

19

您可以使用 配置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。

看起来HttpClientby 提供的HttpComponentsClientHttpRequestFactory支持 SSL 开箱即用,因此您可能几乎不需要配置。

于 2012-12-19T15:28:16.883 回答