一尘不染

RestTemplate与Apache Http Client在spring project中的生产代码

spring

我们有一个Spring项目即将投入生产。目前,该项目正在使用Apache Http Client。有一种使用RestTemplateas 的想法HttpClient

我正在四处寻找使用RestTemplateover的任何显着优势Apache's。另外,知道哪种HTTP传输在其实现中执行RestTemplate也会很有趣。Apache Http Client已被多个小组使用多年,并享有良好的声誉。


阅读 306

收藏
2020-04-19

共1个答案

一尘不染

RestTemplate和HttpClient不在同一抽象级别上运行。

HttpClient是使用HTTP进行通信的通用库,而RestTemplate是更高级别的抽象,用于处理实体的JSON / XML转换等。

RestTemplate 委托给ClientHttpRequestFactory,此接口的实现之一使用Apache的HttpClient。

因此,如果目标是与Restful API通信,而你仍想使用HttpClient,则可以在HttpClient上使用RestTemplate。

请注意,我刚才所说的正是你链接到的博客所解释的内容:

因此,解决方案是使用org.springframework.http.client.HttpComponentsClientHttpRequestFactory,这是一个ClientHttpRequestFactory,将请求的创建委托给HttpClient。

2020-04-19