首先你提问的问题描述不够清楚,我就当你用php去访问其他网站的接口,返回的是api数据
使用php的curl相关函数去访问(不同接口不同的请求验证或者直接get)
使用php内置函数json_decode()解析并处理返回数据
前台
var json1={ name:"aaa", age:18};$ajax({
type:"POST",
url:"sys_addOrder",
cache:"false",
data:{obj1:json1},
dataType:'json',
success:function(json){
alert("提交成功");
}
});
后台
$json1=$_POST['obj1'];echo $json1name;json说白了就是个字符串呗。
原来用servlet怎么接受字符串参数,就怎么接受json。
只不过这个json串一定要解析才能拿到想要的数据。
处理完后再生成一个json串用writer也好,跳转页面也好,总之把json输出就算返回了。
处理json你可以不必自己写代码,从网上找个json的工具包就可以,推荐jackson案例场景:在测试创建订单使用系统的企业支付时,需要获取到创建订单后的订单编号才能支付,在jmeter里面可以直接提取上一个接口json里面的值(sysno)作为下一个支付接口的入参。我现在有一个创建订单接口A,创建成功后会返回一个sysno值。企业支付请求接口B必须要获取到接口A返回订单编号才能支付。这里介绍一下jmeter使用后置处理器json extractor获取你想要得到的值,根据上一个接口具体返回的json格式去自定义json path expressionsjson路径表达式。
A接口创建订单接口文档基本信息
请求类型:POST
请求头部:application/json
请求参数:[{"soType":0,"distributorSysNo":100001,"receiverInfo":{"receiveAddress":"收货地址","receiveAreaSysNo":2620,"receiveContact":"联系人","receivePhone":"15878788784"},"products":[{"productSysNo":42753,"quantity":2,"memo":null,"expectDeliveryDate":null},{"productSysNo":41681,"quantity":1,"memo":null,"expectDeliveryDate":null},],"customerMemo":客户备注信息,"deliveyType":54}]
A接口的请求和返回的报文信息如下
B接口企业支付的接口文档基本信息
请求类型:POST
请求头部:application/json
请求参数:{"orderSysNos":["${ordersysno}"],"soSysNo":"${ordersysno}","payTypeId":"balancepay","orderType":0,"balancePwd":"123456"}
创建订单请求
JSON提取器
注意:添加后置提取器时一定要放在>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)