在RestTemplate提供的方法中,有一个参数就是目标URL,参数是跟在后面的一个数量可变参数,但是在这里就有个问题,这个方法怎么知道我传的参数值是对应在目标接口的哪个参数的呢:

public <T> T postForObject(String url, Object request, Class<T> responseType, Object... uriVariables)

  比如有个url的链接是post方式请求,然后需要提供name和id两个参数,返回值是一个json,然后调用:

JSONObject result = restTemplate.postForObject(url, null, JSONObject.class, "张三", "");


这里就无法分辨张三是name还是2是name。所以post一般是把参数封装到request里面。

JSONObject msg = new JSONObject();
msg.put("key", "@*2y9$jl");
msg.put("receiver", receiverEcommerceId);
msg.put("title", title);
msg.put("content", content);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity request = new HttpEntity(msg.toJSONString(), headers);
JSONObject result = restTemplate.postForObject(url, request, JSONObject.class);

get方式带参数:

String url=http://test.com/url?param1={param1}&param2={param2};
Map<String, Object> params = new HashMap<>();
params.put("param1", "value1");
params.put("param2", "value2");
JSONObject mutiData = restTemplate.getForObject(url, JSONObject.class, params);

值得一提的是,如果是把url配置在properties配置文件里面的,sax解析会出错,得把&替换成&amp;

RestTemplate常用的get和post带参数请求的更多相关文章

  1. python中requests库get方法带参数请求

    起因是想爬五等分的花嫁的漫画.这是其中的一个坑 先上代码 data={ 'cid':567464, , 'key':'', 'language':1, 'gtk':6, '_cid':567464, ...

  2. springMVC带参数请求重定向

    SpirngMVC返回逻辑视图名 可以分下面几种情况: 1. servlet进行请求转发,返回到jsp页面,如  return "index.jsp" ; 2. servlet 返 ...

  3. 微信小程序之跳转、请求、带参数请求小例子

    wx.request(OBJECT) wx.request发起的是 HTTPS 请求.一个微信小程序,同时只能有5个网络请求连接. 具体参数说明参看微信小程序官方文档-发起请求. 例: //当页面加载 ...

  4. 实战:ajax带参数请求slim API

    restful api 支持get,post,put,delete等方法,那么jquery客户端怎么去实现呢?涉及到跨域又怎么办? 很多时候需要传递一个token(api_key) 去识别用户身份,获 ...

  5. 关于RedirectAttributes 重定向带参数请求问题

    @RequestMapping("/delete") public String delete(String id, RedirectAttributes redirectAttr ...

  6. PHP带参数传值调用python脚本

    PHP主要用在服务器端做网站后台开发,有些功能用PHP来实现有点费劲或者无法实现,现在在学习python,同样是脚本语言,感觉python能做的事情PHP不一定能胜任.但是现在大部分的网站后台也是用P ...

  7. SpringMVC使用MultipartFile文件上传,多文件上传,带参数上传

    一.配置SpringMVC 二.单文件与多文件上传 三.多文件上传 四.带参数上传 一.配置SpringMVC 在spring.xml中配置: <!-- springmvc文件上传需要配置的节点 ...

  8. requests接口自动化2-url里不带参数的get请求

    最常用的是get,post请求,然后是put,delete,其他方法很少用 1. get请求几种方式 1.1.url里不带参数的get请求 接口请求fiddler返回内容: import reques ...

  9. C#的泛型的类型参数可以有带参数的构造函数的约束方式吗?

    Review后看到标题让我十分羞愧自己语文功底太差,估计...请见谅......我还特地把这句写回开头了...... 问题 前天遇到的一个问题,所以在MSDN发了个问,刚也丰富了下问题,关于泛型的. ...

随机推荐

  1. vue proxyTable代理 解决开发环境的跨域问题

    如果我们项目请求的地址为 htttp://xxxx.com/a/b/c 可以设置代理为: dev:{ assetsSubDirectory: 'static',// 静态资源文件夹 assetsPub ...

  2. 大数据之路day02_2--if switch while for

    在这一节,学习程序流程控制,具体包括判断结构.选择结构.循环结构. 1.判断结构(if.if-else) 三元运算符和if-else的区别 三元运算符,是一个运算符,所以运行必须有结果 而if-els ...

  3. 使用springcloud开发测试问题总结

    使用springcloud开发测试 如下描述的问题,没有指明是linux部署的,都是在windows开发环境上部署验证发现的. Issue1配置客户端不使用配置中心 问题描述: 配置客户端使用配置中心 ...

  4. linux No module named yum错误的解决办法

    linux No module named yum错误的解决办法 肯定是yum的版本与当前python的版本不一致造成的 <pre>所以修改yum的配置,修改文件: vim /usr/bi ...

  5. 架构设计:"4+1"视图

    概念 "4+1"视图,是指从5个不同视角来描述软件体系结构. "4+1"分别指: 逻辑视图 过程视图 物理视图 开发视图 场景/用例 视图 逻辑架构的描述可以围 ...

  6. 在Debian/Ubuntu上面安装升级nginx到最新版

    在Debian下面通过 apt-get 可以自动安装 nginx,不过版本一般比较老,如果想要使用nginx的最新特性就需要升级版本.   一般安装可以通过编绎源文件安装,但可能需要安装很多编绎工具, ...

  7. hdu 1087 Super Jumping! Jumping! Jumping!(动态规划DP)

    Super Jumping! Jumping! Jumping!Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  8. 【前端知识体系-CSS相关】Bootstrap相关知识

    1.Bootstrap 的优缺点? 优点:CSS代码结构合理,现成的代码可以直接使用(响应式布局) 缺点:定制流程较为繁琐,体积大 2.如何实现响应式布局? 原理:通过media query设置不同分 ...

  9. VS Code 之 Jupyter NoteBook 初试

    一.前言 在今年九月的 PyCon China 大会上,官宣了一项 VS Code Python 的全新功能:Visual Studio Code Python 插件将提供 Jupyter Noteb ...

  10. Kafka幂等性原理及实现剖析

    1.概述 最近和一些同学交流的时候反馈说,在面试Kafka时,被问到Kafka组件组成部分.API使用.Consumer和Producer原理及作用等问题都能详细作答.但是,问到一个平时不注意的问题, ...