PostMan传@RequestParam修饰的数组
笔者今天被一个问题困扰了一段时间
看如下代码:
1
2
3
4
5
6
7
8
|
@RestController
@RequestMapping ( "/getTest" )
public class GetTestController {
@RequestMapping ( "/listRaramTest" )
public List<String> listRaramTest( @RequestParam ( "userIdList" ) List<String> userIdList){
return userIdList;
}
}
|
@RequestParam修饰了一个list
那么用PostMan该如何传入数组呢?
实际上很简单
在这里记录一下:
其实只要按参数名字传入一个按都好分隔的字符串就好了
param参数数组使用注意点
1、只能为一位数组使用 params 关键字
不能为多为数组使用,否则编译不能通过。
2、不能只依赖 params 关键字来重载一个方法
params 关键字不构成方法签名的一部分,例如:
1
2
3
4
5
|
//编译时错误:重复的声明
public static int Max( int [] paramList)
...
public static int Max(params int [] paramList)
...
|
3、不允许为 params
数组指定 ref 或 out修饰符。
4、params 数组
必须是方法的最后一个参数,没个方法中也只能有一个 params 数组参数。
1
2
3
|
//编译时错误
public static int Max(params int [] paramList, int i)
...
|
5、非params方法优先
1
2
3
4
|
public static int Max( int first, int second) //优先
...
public static int Max(params int [] paramList)
...
|
对于上面的重载方法,传入两个 int 参数时,调用上面的方法,传入其它任意数量的 int 参数时,调用下面的方法。这样做并非多余,实则起到优化作用。
6、有歧义的重载编译不能通过
1
2
3
4
5
|
//编译时错误
public static int Max(params int [] paramList)
...
public static int Max( int i, params int [] paramList)
...
|
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/a907691592/article/details/107051586