10

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

return new BufferingClientHttpRequestFactory(new SimpleClientHttpRequestFactory())
4

1 回答 1

24

BufferingClientHttpRequestFactory是周围的装饰器ClientHttpRequestFactory,RestTemplate 使用它来创建促进ClientHttpRequestHTTP 通信的 s。这个装饰器特别提供了输出/输入流的缓冲。SimpleClientHttpRequestFactory此包装器/装饰器还允许多次读取响应正文,如果您只使用或不使用此包装器,您将无法做到HttpComponentsClientHttpRequestFactory这一点。

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

于 2015-10-27T16:26:58.967 回答