PostMan传@RequestParam修饰的数组方式

时间:2022-08-24 22:04:29

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该如何传入数组呢?

实际上很简单

在这里记录一下:

PostMan传@RequestParam修饰的数组方式

其实只要按参数名字传入一个按都好分隔的字符串就好了

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