使用RestTemplate使用JSON正文和承载授权的GET方法

问题描述 投票:1回答:1

我知道......这不是最好的做法,但我被要求这样做:

我正在尝试获得一个端点,该端点接收带有3个参数json(int, int, int)主体并具有承载认证。

header.setContentType(MediaType.APPLICATION_JSON);
header.set("authorization", bearerToken);

实体

HttpEntity<String> entity = new HttpEntity<>(requestjson.toString(), header);

其余的模板

ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);

是System.out.print(实体):

<{"1stParam":1,"2ndParam":4881,"3rdParam":0},{Content-Type=[application/json], authorization=[Bearer bearerToken]}>

除了安全和所有这些问题,请求通过qazxsw poi显示qazxsw poi qazxsw poi,邮差工作得很好。

我也试过400 HTTP,但有同样的问题。

谢谢您的帮助 :)

json spring-boot get resttemplate
1个回答
0
投票

我只是编写了一个类似的解决方案,所以我很确定我知道这是什么。你必须在response标题中加入RestTemplate。我认为此代码更改将解决您的问题:

HttpURLConnection

我将标题键大写。我认为这不重要,但我知道大写版本对我有用。我的代码看起来就像这样,它的工作原理。

这里的基本思想是,Bearer头必须始终以正在执行的授权类型开始,以便服务器可以知道您想要使用的种类。这是400错误而不是404错误,因为标题在技术上是错误的。

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