作者:的发个地方 | 来源:互联网 | 2023-05-18 15:42
目录
- PostMan传@RequestParam修饰的数组
- param参数数组使用注意点
- 1、只能为一位数组使用 params 关键字
- 2、不能只依赖 params 关键字来重载一个方法
- 3、不允许为 params
- 4、params 数组
- 5、非params方法优先
- 6、有歧义的重载编译不能通过
PostMan传@RequestParam修饰的数组
笔者今天被一个问题困扰了一段时间
看如下代码:
@RestController
@RequestMapping("/getTest")
public class GetTestController {
@RequestMapping("/listRaramTest")
public List listRaramTest(@RequestParam("userIdList") List userIdList){
return userIdList;
}
}
@RequestParam修饰了一个list
那么用PostMan该如何传入数组呢?
实际上很简单
在这里记录一下:
![在这里插入图片描述](https://img1.php1.cn/3cd4a/25047/bdf/e3a88770361fc726.png)
其实只要按参数名字传入一个按都好分隔的字符串就好了
param参数数组使用注意点
1、只能为一位数组使用 params 关键字
不能为多为数组使用,否则编译不能通过。
2、不能只依赖 params 关键字来重载一个方法
params 关键字不构成方法签名的一部分,例如:
//编译时错误:重复的声明
public static int Max(int[] paramList)
...
public static int Max(params int[] paramList)
...
3、不允许为 params
数组指定 ref 或 out修饰符。
4、params 数组
必须是方法的最后一个参数,没个方法中也只能有一个 params 数组参数。
//编译时错误
public static int Max(params int[] paramList,int i)
...
5、非params方法优先
public static int Max(int first,int second) //优先
...
public static int Max(params int[] paramList)
...
对于上面的重载方法,传入两个 int 参数时,调用上面的方法,传入其它任意数量的 int 参数时,调用下面的方法。这样做并非多余,实则起到优化作用。
6、有歧义的重载编译不能通过
//编译时错误
public static int Max(params int[] paramList)
...
public static int Max(int i, params int[] paramList)
...
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程笔记。