我们有一个Spring项目即将投入生产。目前,该项目正在使用Apache Http Client。有一种使用RestTemplateas 的想法HttpClient。
pache Http Client
RestTemplateas
HttpClient
我正在四处寻找使用RestTemplateover的任何显着优势Apache's。另外,知道哪种HTTP传输在其实现中执行RestTemplate也会很有趣。Apache Http Client已被多个小组使用多年,并享有良好的声誉。
RestTemplateover
Apache's
RestTemplate和HttpClient不在同一抽象级别上运行。
HttpClient是使用HTTP进行通信的通用库,而RestTemplate是更高级别的抽象,用于处理实体的JSON / XML转换等。
RestTemplate 委托给ClientHttpRequestFactory,此接口的实现之一使用Apache的HttpClient。
因此,如果目标是与Restful API通信,而你仍想使用HttpClient,则可以在HttpClient上使用RestTemplate。
请注意,我刚才所说的正是你链接到的博客所解释的内容:
因此,解决方案是使用org.springframework.http.client.HttpComponentsClientHttpRequestFactory,这是一个ClientHttpRequestFactory,将请求的创建委托给HttpClient。