博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
feign 发送请求时,传多个参数时的写法
阅读量:6326 次
发布时间:2019-06-22

本文共 2180 字,大约阅读时间需要 7 分钟。

第一:传参方式写法,当参数个数大于2个时,需要用@RequestParam
@PostMapping(value = "/configReader/configValue.do",headers = {"Accept=application/json","Content-Type=application/x-www-form-urlencoded"}) //正确的写法  String getMaxCount(@RequestParam("projectName") String projectName, @RequestParam("wordName") String wordName); //错误的传参方式,会报错  String getMaxCount(String projectName, String wordName); 报错代码为:nested exception is java.lang.IllegalStateException: Method has too many Body parameters: public abstract java.lang.String 第二,@RequestParam 注解的正确用法(很重要!!)
@PostMapping(value = "/configReader/configValue.do",headers = {"Accept=application/json","Content-Type=application/x-www-form-urlencoded"}) //正确的写法  String getMaxCount(@RequestParam("projectName") String projectName, @RequestParam("wordName") String wordName);
好多人没弄明白到底是把“projectName ”里面的参数赋值给projectName,还是把外面的projectname赋值给“projectName”,因为都写一样的,就区分不出来了。 (1)@RequestParam 作为数据发送方 参数配置时,实验如下:
 
实验一: 数据发送请求方:
@PostMapping(value = "/configReader/configValue.do",headers = {"Accept=application/json","Content-Type=application/x-www-form-urlencoded"})  String getMaxCount(@RequestParam("project") String projectName, @RequestParam("wordName") String wordName); 数据接收方:
String getConfigValue(@RequestParam("projectName") String projectName, @RequestParam("wordName") String wordName)
结果:请求失败,因为
@RequestParam("project") 与@RequestParam("projectName") 不一致
 
实验二: 数据发送请求方:
@PostMapping(value = "/configReader/configValue.do",headers = {"Accept=application/json","Content-Type=application/x-www-form-urlencoded"})  String getMaxCount(@RequestParam("projectName") String project, @RequestParam("wordName") String wordName);
数据接收方:
String getConfigValue(@RequestParam("projectName") String projectName, @RequestParam("wordName") String wordName)
结果:请求成功
最终结论:@RequestParam("projectName") 是取的别名,String project 是用来接受值的,并将值赋值给别名@RequestParam("projectName") ,然后发送给外部,外部接收数据时,只认别名projectName,一样时才可以接收到数据。
(2)@RequestParam 作为数据接收方,参数配置时,参考 https://www.cnblogs.com/silentdoer/archive/2017/08/31/7459395.html 此时@RequestParam(name="userName", required = false) String[] userNames)  username是浏览器请求的参数,userNames 是最终接收的变量

转载于:https://www.cnblogs.com/Andrew520/p/9432674.html

你可能感兴趣的文章
【三石jQuery视频教程】02.创建 FontAwesome 复选框和单选框
查看>>
Cisco 配置DHCP中继 代理工程 实例
查看>>
Centos7.3部署KVM虚拟化环境
查看>>
configure: error: Cannot find ldap.h
查看>>
Linux启动分析(2)— bootsect.S、setup.S、head.S分析
查看>>
自学java时的笔记(一)
查看>>
Qt之文本编辑器(二)
查看>>
python编译时检查语法错误
查看>>
考题纠错2
查看>>
SQL——索引
查看>>
Form表单基础知识和常用兼容方法笔记(一)
查看>>
远程连接MySQL提示 Host is not allowed to connect to this MySQL server
查看>>
Python新手快速入门教程-基础语法
查看>>
Mac中建立SVN服务器
查看>>
《软件工程-理论、方法与实践》读书笔记一
查看>>
猫猫学IOS(二十三)UI之控制器管理
查看>>
Beta冲刺——day5
查看>>
递归,排序等算法编程题
查看>>
数组、对象等的按值传递与数字、字符串不同
查看>>
jQuery跨域请求,跨域Post提交数据的方法(.net/SQL技术交流群206656202 入群需注明博客园)...
查看>>