语法:
pm.sendRequest(param, function(err, response){
//进行其他操作(也可以再次调用sendRequest)
});
说明:
注意:虽然该方式没有指定请求方式,但默认是Get请求方式。
//发送请求
pm.sendRequest("http://127.0.0.1:8090/demo/goods/list", function(err, resp) {
console.log(resp.json());
});
如图所示:
同理,如果把脚本请求的/demo/goods/list
接口改成Post方式,再看看请求结果。
如上图所示,返回了错误信息,说请求不支持Get方式。
//请求信息
const param = {
url: 'http://127.0.0.1:8090/demo/goods/list',
method: 'GET',
header: {
'token': '9e11562e553b4f56af43a1e81dcbb137'
}
};
//发生请求
pm.sendRequest(param, function(err, resp) {
console.log(resp.json());
});
参数在请求路径后面用?号拼接,多个参数用&分隔。
//发送请求
pm.sendRequest("http://127.0.0.1:8090/demo/goods/list?id=123&name=小馒头", function(err, resp) {
console.log(resp.json());
});
或者
//请求信息
const param = {
url: 'http://127.0.0.1:8090/demo/goods/list?id=123&name=小馒头',
method: 'GET',
header: {
'token': '9e11562e553b4f56af43a1e81dcbb137'
}
};
//发生请求
pm.sendRequest(param, function(err, resp) {
console.log(resp.json());
});
如图所示:
Post请求方式和Get不同,请求参数在Body里,而Body有多种模式(mode),如下:
header的Content-Type设为application/json。
header: {
'Content-Type': 'application/json'
}
body的model设置为raw。
body: {
mode: 'raw',
raw: JSON.stringify({"data":{"name":"多味花生"}})
}
raw属性值的格式:
{"key1":"value1","key2":"value2"}
注:key1是请求参数名,value2是请求参数值,同理key2也是参数名。
参考代码:
// 定义请求入参格式
const jsonParam = {
"data": {
"name": "多味花生"
}
};
// 定义请求数据
const reqData = {
url: 'http://127.0.0.1:8090/demo/goods/info',
method: 'POST',
header: {
'Content-Type': 'application/json',
'token': '9e11562e553b4f56af43a1e81dcbb137',
'timestamp': '1695087778',
'noce': '540623',
'signature': '0cc4d99e4d9941d19c324de7881b6a98'
},
body: {
mode: 'raw',
raw: JSON.stringify(jsonParam)
}
};
// 发送请求
pm.sendRequest(reqData, function(err, resp) {
console.log(resp.json());
});
header的Content-Type设置为application/xxx-www-urlencoded;charset=UTF-8。
header: {
'Content-Type': 'application/xxx-www-urlencoded;charset=UTF-8'
}
body的mode设置为urlencoded。
body: {
mode: 'urlencoded',
urlencoded: 'name=多味花生&typeEnum=FOOD'
}
urlencoded属性值的格式:
'key1:value1&key2:value2&key3:value3'
注:多个参数使用&隔开。
参考代码:
// 定义请求数据
const reqData = {
url: 'http://127.0.0.1:8090/demo/goods/count',
method: 'POST',
header: {
'Content-Type': 'application/xxx-www-urlencoded;charset=UTF-8',
'token': '9e11562e553b4f56af43a1e81dcbb137',
'timestamp': '1695087778',
'noce': '540623',
'signature': '0cc4d99e4d9941d19c324de7881b6a98'
},
body: {
mode: 'urlencoded',
urlencoded: 'name=多味花生&typeEnum=FOOD'
}
};
// 发送请求
pm.sendRequest(reqData, function(err, resp) {
console.log(resp.json());
});
header的Content-Type设置为multipart/form-data。
header: {
'Content-Type': 'multipart/form-data'
}
body的mode设置为formdata。
body: {
mode: 'formdata',
formdata: [{key:"name", value:"谷粒多"},{key:"typeEnum",value:"FOOD"}]
}
formdata属性值的格式:
[{key:key1, value:value1},{key:key2, value:value2}]
注:key1是请求参数名,value1是请求参数名对应的值,每个参数用{}包裹,多个参数用逗号隔开。
参考脚本:
// 定义请求数据
const reqData = {
url: 'http://127.0.0.1:8090/demo/goods/count',
method: 'POST',
header: {
'Content-Type': 'multipart/form-data',
'token': '9e11562e553b4f56af43a1e81dcbb137',
'timestamp': '1695087778',
'noce': '540623',
'signature': '0cc4d99e4d9941d19c324de7881b6a98'
},
body: {
mode: 'formdata',
formdata: [{key:"name", value:"谷粒多"},{key:"typeEnum",value:"FOOD"}]
}
};
// 发送请求
pm.sendRequest(reqData, function(err, resp) {
console.log(resp.json());
});
header的Content-Type设置为application/xml。
header: {
'Content-Type': 'application/xml'
}
body的mode设置为raw。
body: {
mode: 'raw',
raw: ' 蛋仔 ELECTRONICS '
}
raw属性值的格式:
'<自定义标签>标签值自定义标签>'
注:自定义标签名是请求入参参数名,标签值是入参参数值。比如:有一个入参是name,那么raw应该是
脚本参考:
// 定义请求数据
const reqData = {
url: 'http://127.0.0.1:8090/demo/goods/count',
method: 'POST',
header: {
'Content-Type': 'application/xml',
'token': '9e11562e553b4f56af43a1e81dcbb137',
'timestamp': '1695087778',
'noce': '540623',
'signature': '0cc4d99e4d9941d19c324de7881b6a98'
},
body: {
mode: 'raw',
raw: ' 蛋仔 ELECTRONICS '
}
};
// 发送请求
pm.sendRequest(reqData, function(err, resp) {
console.log(resp.json());
});