Spring RestTemplate - BufferingClientHttpRequestFactory 和 SimpleClientHttpRequestFactory

问题描述 投票:0回答:2

我在使用 Spring 构建的 Rest 客户端之一中看到了以下代码。此 Rest 客户端存在于 REST 服务中,并且正在调用另一个 REST 服务。此声明的目的是什么?

return new BufferingClientHttpRequestFactory(new SimpleClientHttpRequestFactory())
spring rest spring-boot spring-rest
2个回答
25
投票

BufferingClientHttpRequestFactory
是围绕
ClientHttpRequestFactory
的装饰器,RestTemplate使用它来创建促进HTTP通信的
ClientHttpRequest
。该装饰器特别提供传出/传入流的缓冲。此包装器/装饰器还允许多次读取响应正文,如果您仅使用
SimpleClientHttpRequestFactory
HttpComponentsClientHttpRequestFactory
而不使用此包装器,则无法执行此操作。

SimpleClientHttpRequestFactory
ClientHttpRequestFactory
的实现,它使用 JDK 工具(来自
java.net
包的类),因此不依赖于第三方库,例如 Apache HttpComponents HTTP 客户端,这是另一个实现所需的
HttpComponentsClientHttpRequestFactory
.


0
投票

有人可以提供有关如何使用 BufferingClientHttpRequestFactory 的代码吗

© www.soinside.com 2019 - 2024. All rights reserved.