前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java中restTemplate携带Header请求

Java中restTemplate携带Header请求

原创
作者头像
代码的路
发布2023-03-21 17:25:37
7300
发布2023-03-21 17:25:37
举报
文章被收录于专栏:代码的路代码的路

创建请求

创建请求头:

代码语言:java
复制
Map<String, String> requestBody = new HashMap<>();
requestBody.put("userId", userId);
requestBody.put("userName", userName);

创建请求体:

代码语言:java
复制
HttpHeaders requestHeader = new HttpHeaders();
requestHeader.add("cookie", "cookie");
requestHeader.add("userInfo", "{userId:101,userName:userName}");

创建请求方式:

代码语言:java
复制
HttpEntity<Map<String, String>> httpEntity = new HttpEntity<>(requestHeader);
RestTemplate restTemplate = new RestTemplate();

POST请求

restTemplate发送POST请求时可以通过如下方法获取ResponseEntity

代码语言:java
复制
ResponseEntity responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);

或用以下方法获取jsonObject

代码语言:txt
复制
JSONObject jsonObject = restTemplate.postForObject(url, httpEntity, JSONObject.class);

GET请求

GET请求没有相应的方法,只能用exchange方法获取ResponseEntity

代码语言:java
复制
ResponseEntity<JSONObject> responseEntity = restTemplate.exchange(url, HttpMethod.GET, httpEntity, JSONObject.class, requestBody);

若出现如下报错:

Not enough variables available to expand

则是因为RestTemplate认为大括号{}为占位符,需要将请求头中的{userId:101,userName:userName}改为{\"userId\":\"101\",\"userName\":\"userName\"}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建请求
  • POST请求
  • GET请求
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档