首页 > 编程语言 >Java中restTemplate携带Header请求

Java中restTemplate携带Header请求

时间:2023-03-09 14:14:58浏览次数:74  
标签:userName httpEntity Java 请求 requestHeader userId restTemplate Header

创建请求

创建请求头:

Map<String, String> requestBody = new HashMap<>();
requestBody.put("userId", userId);
requestBody.put("userName", userName);

创建请求体:

HttpHeaders requestHeader = new HttpHeaders();
requestHeader.add("cookie", "cookie");
requestHeader.add("userInfo", "{userId:101,userName:userName}");

创建请求方式:

HttpEntity<Map<String, String>> httpEntity = new HttpEntity<>(requestHeader);
RestTemplate restTemplate = new RestTemplate();

POST请求

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

ResponseEntity responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);

或用以下方法获取jsonObject

JSONObject jsonObject = restTemplate.postForObject(url, httpEntity, JSONObject.class);

GET请求

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

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\"}

 
 

学习更多编程知识,请关注我的公众号:

代码的路

标签:userName,httpEntity,Java,请求,requestHeader,userId,restTemplate,Header
From: https://www.cnblogs.com/zbzcDZF/p/17198153.html

相关文章

  • java hashMap集合存储arrayList元素并遍历
        ......
  • JavaScript 对象管家 Proxy
    JavaScript在ES6中,引入了一个新的对象类型​​Proxy​​​,它可以用来代理另一个对象,并可以在代理过程中拦截、覆盖和定制对象的操作。​​Proxy​​对象封装另一个对象......
  • JavaScript实现搜索联想关键字高亮功能
    <!DOCTYPEhtml><htmllang="en"> <head> <metacharset="UTF-8"> <metaname="viewport"content="width=device-width,initial-scale=1.0"> <metahttp-equiv=......
  • 【JavaScript】——input元素的oninput事件和onchange事件
    //第一种:直接在元素标签上添加oninput属性,属性值为处理事件函数的调用<inputtype="text"id="input"oninput="handleInput()"></input>functionhandleInput(){ ......
  • Java数据类型详解
    Java数据类型详解基本数据类型(8种)整数类型byte1个字节-128-127short2个字节负的3万多到正的三万多-32768-32767int4个字节负的20多亿到正的20多亿......
  • java-vue多项目开发powershell最佳实践-
    Tab1:左边:redis右上:nginx右下:nginx-sstop(2个nginx方便配置改动后,nginx重启)Tab2左侧build前端右上:jar1运行右下:jar2运行**如此,切换丝滑!**......
  • 第01章_Java语言概述
    吾心安处即吾乡。吾乡何处不可眠1.Java知识脉络图1.1Java基础全程脉络图1.2本章专题与脉络2.抽丝剥茧话Java吾心安处即吾乡。吾乡何处不可眠2.1当前大......
  • 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先(java解题)
    目录1.题目2.解题思路3.数据类型功能函数总结4.java代码1.题目定一个二叉搜索树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于......
  • 还不知道如何在java中终止一个线程?快来,一文给你揭秘
    目录简介Thread.stop被禁用之谜怎么才能安全?捕获异常之后的处理总结简介工作中我们经常会用到线程,一般情况下我们让线程执行就完事了,那么你们有没有想过如何去终止一个正......
  • Java中间件学习之RabbitMQ
    什么是MQ  消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发......