参考了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"}