问题
在使用Postman
接口调试中,有些时候,习惯将参数注释写在请求体中,例如下面:
{
"name": "zhangsan", // 用户名
"age": 21, // 年龄
/* 测试 */
"desc": "描述"
}
如上图,我们在请求体中加了注释之后,请求接口就会出现问题,发送请求的时候,会连同注释一起发送,后端在解析JSON
的时候会报错,所以在发送请求的时候需要将注释都去掉。
解决方法
在Pre-Request Script
预请求中添加如下代码,即可将请求体中的备注过滤掉,在之后的请求接口中传的参数就不会带备注了。
// 过滤请求body中的注释
if (pm?.request?.body?.mode === 'raw') {
const rawData = pm.request.body.toString();
const strippedData = rawData.replace(
/\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g,
(m, g) => g ? "" : m
);
pm.request.body.raw = JSON.stringify(JSON.parse(strippedData));
// pm.request.body.update(JSON.stringify(JSON.parse(strippedData)));
}
欢迎关注公众号:慌途L
后面会慢慢将文章迁移至公众号,也是方便在没有电脑的情况下可以进行翻阅,更新的话会两边同时更新,大家不用担心!