RestTemplate 与基本身份验证和交换方法之间的冲突
Collision between RestTemplate with basic authentication and exchange method
我正在使用 Spring 4.3 和 SpringBoot 1.5 创建一个必须调用外部 REST 服务的组件。此外部服务请求 HTTP 基本身份验证。
我发现 SpringBoot 提供了一个非常有用的构建器来设置 RestTemplate
属性,例如基本身份验证,RestTemplateBuilder
。
要调用外部 REST 服务,我必须使用方法 RestTemplate.exchange
,因为 List<T>
return 类型。
new RestTemplateBuilder().basicAuthorization(username, password)
.build()
.exchange("/some/path/with/variables",
HttpMethod.GET,
new HttpEntity<>(new HttpHeaders()),
new ParameterizedTypeReference<List<Integer>>() {},
some, params)
这里的问题是 exchange
方法的签名请求一个 HttpEntity
类型的对象,它基本上是 HttpHeaders
.
的容器
问题是,作为输入参数传递给 exchange
方法的 HttpEntity
对象是否会使用 RestTemplateBuilder.basicAuthorization
方法?
非常感谢。
这两天做了一些实验。 HttpEntity
传递给 exchange
方法的实例 不 订阅与 RestTemplateBuilder
设置的基本身份验证相关的信息。两组headers合并为一组
拍得不错,Spring;)
我正在使用 Spring 4.3 和 SpringBoot 1.5 创建一个必须调用外部 REST 服务的组件。此外部服务请求 HTTP 基本身份验证。
我发现 SpringBoot 提供了一个非常有用的构建器来设置 RestTemplate
属性,例如基本身份验证,RestTemplateBuilder
。
要调用外部 REST 服务,我必须使用方法 RestTemplate.exchange
,因为 List<T>
return 类型。
new RestTemplateBuilder().basicAuthorization(username, password)
.build()
.exchange("/some/path/with/variables",
HttpMethod.GET,
new HttpEntity<>(new HttpHeaders()),
new ParameterizedTypeReference<List<Integer>>() {},
some, params)
这里的问题是 exchange
方法的签名请求一个 HttpEntity
类型的对象,它基本上是 HttpHeaders
.
问题是,作为输入参数传递给 exchange
方法的 HttpEntity
对象是否会使用 RestTemplateBuilder.basicAuthorization
方法?
非常感谢。
这两天做了一些实验。 HttpEntity
传递给 exchange
方法的实例 不 订阅与 RestTemplateBuilder
设置的基本身份验证相关的信息。两组headers合并为一组
拍得不错,Spring;)