PostMan傳@RequestParam修飾的數組方式

PostMan傳@RequestParam修飾的數組

筆者今天被一個問題困擾瞭一段時間

看如下代碼:

@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 關鍵字不構成方法簽名的一部分,例如:

//編譯時錯誤:重復的聲明
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)
...

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: