RestTemplate vs Apache Http Client在spring项目中的生产代码



我们有一个即将投入生产的Spring项目。目前项目使用的是Apache Http Client。有一种用RestTemplate代替HttpClient的想法。

我正在挖掘使用RestTemplate优于Apache's的任何显著优势。此外,了解HTTP传输在RestTemplate的实现中做了什么也会很有趣。Apache Http Client已被多个组织使用多年,并拥有良好的声誉。

我们会冒险搬到RestTemplate吗?

进一步,本文指出RestTemplate需要为生产配置,尽管配置是最小的。

谢谢

RestTemplate和HttpClient不在同一个抽象层上操作。

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

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

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

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

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

最新更新