当前位置: 首页 > 后端技术 > Java

Java中的RestTemplate携带Header请求

时间:2023-04-01 21:24:58 Java

创建请求创建请求头:MaprequestBody=newHashMap<>();requestBody.put("userId",userId);requestBody.put("用户名",用户名);创建请求体:HttpHeadersrequestHeader=newHttpHeaders();requestHeader.add("cookie","cookie");requestHeader.add("userInfo","{userId:101,userName:userName}");创建请求方法:HttpEntity>httpEntity=newHttpEntity<>(requestHeader);RestTemplaterestTemplate=newRestTemplate();POST请求当restTemplate发送POST请求时,可以通过以下方法获取ResponseEntity:ResponseEntityresponseEntity=restTemplate.postForEntity(url,httpEntity,JSONObject.class);或者使用下面的方法获取jsonObject:JSONObjectjsonObject=restTemplate.postForObject(url,httpEntity,JSONObject.class);GET请求GET请求没有对应的方法,只能使用exchange方法获取ResponseEntity:ResponseEntityresponseEntity=restTemplate.exchange(url,HttpMethod.GET,httpEntity,JSONObject.class,requestBody);如果出现以下错误:不够variablesavailabletoexpand是因为RestTemplate认为大括号{}是占位符,所以需要将请求头中的{userId:101,userName:userName}改为{\"userId\":\"101\",\"userName\":\"userName\"}了解更多编程知识,请关注我的公众号:代码之道