第一:传参方式写法,当参数个数大于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 是最终接收的变量

feign 发送请求时,传多个参数时的写法的更多相关文章

  1. 【Java学习笔记之二十七】Java8中传多个参数时的方法

    java中传参数时,在类型后面跟"..."的使用:        public static void main(String[] args){       testStringA ...

  2. requestS模块发送请求的时候怎么传递参数

    首先要确定接口的传递参数是什么类型的,如果接口是查询,使用get请求方法,传递参数的时候使用params, 如果接口需要的json型参数的话,使用json,如果是上传文件的话,通过files参数在传递 ...

  3. action间传多个参数时注意问题

    通常我们action之间传参可以有多种形式,举例说明:示例1: <result name="test" type="redirect-action"> ...

  4. HttpClient 发送请求和参数

    发送请求 没有参数 private static void getData() { String timeStamp = String.valueOf(System.currentTimeMillis ...

  5. java后台向路径发送请求获得相应参数

    从java后台向一路径发送请求,获得响应的参数,put get post ,还有一个返回URL的工具类,方便代码灵活修改 import java.io.BufferedReader; import j ...

  6. Feign发送Get请求时,采用POJO对象传递参数的最终解决方案 Request method 'POST' not supported (附带其余好几个坑)

    yml: feign: httpclient: enabled: true properties: #feign feign.httpclient.enabled=true <!-- https ...

  7. 发送请求时携带了参数,但是浏览器network没有显示的排错思路

    发送请求时携带了参数,但是浏览器network没有显示的排错思路 不知道大家有没有遇到这样子的情况就是发送请求的时候明明携带了参数,但是浏览器的network中就是没有!请看下图和代码! 我发送请求用 ...

  8. vue 使用 axios 时 post 请求方法传参无法发送至后台

    axios 时 post 请求方法传参无法发送至后台报错如下 Response to preflight request doesn't pass access control check: No ' ...

  9. C# 发送Http请求,传文件和其他参数

    /// <summary> /// httpWebRequest post by dic /// </summary> /// <param name="url ...

随机推荐

  1. React之js实现跳转路由

    1.新增知识 /* 实现js跳转路由:https://reacttraining.com/react-router/web/example/auth-workflow 1.要引入Redirect im ...

  2. 【图形学手记】law of the unconscious statistician

    以扔色子为例,结果集为{1,2,3,4,5,6},每个数字出现的概率为1/6 以色子结果为随机变量X,如果我们定义函数F(X) = (X-3)2,我们来计算F(X)的概率分布: X=1,F(1)=(1 ...

  3. RL - 001- 入门

    https://www.freecodecamp.org/news/an-introduction-to-reinforcement-learning-4339519de419/ https://gi ...

  4. java:Hibernate框架2(关联映射(多对一,一对多,一对多双向,一对一主键,一对一唯一外键,多对多双向))

      hibernate.cfg.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE h ...

  5. 如何获取当前包名与activitity&&抓log

    若hi1:获取当前包名以及Activity (1)adb shell dumpsys activity | find "mFocusedActivity" (2)adb shell ...

  6. 点云ICP注册

    原文链接 背景 两个点云要注册在一块,一般分两个步骤:先做一个大致的对齐,也就是所谓的初始注册,一般可以通过一些可靠的点对来计算得到(如图3所示):然后在初始注册的基础上进行精细注册,提升注册的精度( ...

  7. MVC学习途径

    博客园专题:http://kb.cnblogs.com/zt/mvc/ MVC源码:http://www.codeplex.com/site/search?projectSearchText=mvc ...

  8. 创建可执行bin安装文件

    [应用场景] 简化操作,对于有些安装操作而言,需要包含安装脚本和脚本需要的文件两部分,封装成可执行bin文件之后就只有一个安装包了. 代码保护,在很多情况下,我们并不希望用户可以直接接触到代码部分,这 ...

  9. 最长上升(不下降)子序列(LIS) 不同求解方法(动规、贪心)

    给定一个序列,求出它的最长上升子序列或者是最长不下降子序列的长度 或者输出这个子序列 一.动态规划 O(n^2) 1.求长度 首先来讨论最长上升子序列的情况,即子序列是严格上升的 假如我们以dp[i] ...

  10. RSA加密 抛异常 algid parse error, not a sequence

    JDK1.8环境 参考:BouncyCastle的使用:https://blog.csdn.net/qq_29583513/article/details/78866461 可解决 公钥解密 私钥加密 ...