參考了http://www.cnblogs.com/0201zcr/p/5046193.html博主的講解,覺得不錯,他傳的參數不全是json格式。我的業務,剛好都是json格式,所以在這里做了筆記,方便自己記憶。
業務講解:請求1的返回值要傳給請求2,作為動態參數請求,這樣就可以形成一個完整的業務。符合實際的業務請求。
業務需求:請求1:掃碼支付創建訂單的接口,服務器返回創建的訂單,傳給掃碼支付的接口,進行支付的流程。
請求1的服務器返回數據:
{"orderId":"9852092723627294720","message":"創建訂單成功","status":100}
請求2需要的參數是:
{"account":"13910001000","orderId":"9852092723627294720","posId":"N9NL10255029","couponMoney":0,"couponInfo":"","payMoney":0.01,"barcode":"130122475934385558","channelId":"WX"}
請求2中,orderId的值,是請求1返回的值。可以用正則表達式提取器,從請求1中獲取訂單的ID,如下圖所示:
- 引用名稱是下個請求將要引用到的變量名;
- 正則表達式是提取你想要內容的正則表達式,小括號()表示提取,也就是說對於你想要提取的內容需要用它括起來; .*"orderId":"(.+?)".*
- 模板是使用提取到的第幾個值。因為可能有多個值匹配,所以要使用模板。從 1 開始匹配,依次類推。這里只有一個,所以填寫 $1$ 即可;
- 匹配數字表示如何取值。0 代表隨機取值,1 代表全部取值。這里只有一個,填 1 即可;
- 缺省值表示參數沒有取到值的話,默認給它的值。一般不填。
那么獲取訂單ID后,如何作為請求的參數呢,可以在請求2的參數中,作參數化,達到動態傳參的目的,如下代碼所示:
{"account":"13910001000","orderId":"${orderId}","posId":"N9NL10255029","couponMoney":0,"couponInfo":"","payMoney":0.01,"barcode":"130122475934385558","channelId":"WX"}