【发布时间】:2019-07-19 16:51:10
【问题描述】:
我正在拨打休息电话,如下所示:
REST_TEMPLATE.exchange(
external_rest_url,
HttpMethod.POST,
new HttpEntity<>(dto, getHeaders()),
Map.class)
我的标题如下:
private HttpHeaders getHeaders() {
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("User-Agent","Spring's RestTemplate");
headers.set(HttpHeaders.AUTHORIZATION, "some value");
return headers;
}
当我运行我的代码时,标题 HttpHeaders.AUTHORIZATION 被替换为 undefined
有谁知道为什么 spring 会这样,或者特别是 spring-web:5.0.5 jar。我也尝试更改 jar 的版本,但结果相同。
我使用的Springboot版本是2.0.x。
【问题讨论】:
-
User-Agent 也不一样,
-
是的!你说的对。我不知道为什么当我将它设置为其他东西时它的设置不同
-
如果您尝试将 Authorization 标头值设置为正确的语法 - Authorization:
怎么办?例如:授权:基本 YWxhZGRpbjpvcGVuc2VzYW1l -
你在混合东西。 resttemplate 用于从您的应用程序向另一台服务器发送 http 请求。屏幕截图显示您正在将请求发送到由@RequestMapping 方法处理的服务器(可能是您的服务器)
-
浏览器中的请求与您在服务器上所做的事情有什么关系。你在比较不同的东西。您正在查看从浏览器到您的服务器的请求,而不是从服务器到另一台服务器的请求。
标签: java rest spring-boot spring-web