1. 程式人生 > >請求引數為陣列,如何傳參?

請求引數為陣列,如何傳參?

引言:
在工作中,有時後會遇見post請求的引數為陣列的情況,這種情況應該如何解決呢?

如下圖:

想法一:
直接把陣列放入變數池中,查閱API文件中發現如下方法:

其中主要的方法:
putObject(String key,Object value),可以任何型別的資料放入變數池;
getObject(String key),取出變數名代表的任何型別的資料。

現在的場景是要講請求1中所有的resourse_id以陣列的形式,傳入請求2中

步驟:

1、通過正則,關聯出所有resourse_id

2、關聯出來的resourse_id組合成一個數組 

其中${myResId_matchNr}是關聯到myResId的數量,用Debug_Sampler可以看出。

3.將該陣列傳入請求2

此時報錯:資料轉換異常,陣列不能轉換為String型別。

看來此時的方法行不通。

想法二:把resourse_id拼接成一個字串,再講字串傳入請求2。

方法一:

利用StringBuffer來拼接。

方法二:

StringUtils.join(str1, ",")用改方法,講陣列的元素和分隔符拼接成字串

再將字串傳入請求2

方法三:

利用list,然後轉成字串。

傳入請求2

總結:
陣列形式的引數,用程式碼拼接或者轉成相應的字串,再傳入。