Postman参数:urlencoded处理

使用Firefox抓包测一个GET接口的时候,有一个参数data:


1. Firefox抓包看到的参数

于是在postman中,第一次对接口传参时data参数直接写的是:[{"id":"{{exceptionItemA01_id}}"},{"id":"{{exceptionItemA02_id}}"},{"id":"{{exceptionItemA03_id}}"}]
(其中exceptionItemA01_id、exceptionItemA02_id、exceptionItemA03_id是通过其他接口获得到的变量)
然后接口提示400 Bad Request。

Postman参数:urlencoded处理_第1张图片
第一次传参的数据格式

经过console比对数据:


console

又看了看Chrome F12:


2. Chrome F12抓包看到的参数

隐约感知到和urlencode有关,但其中的原理尚不明白。最终在postman的Pre-request Script模块添加预处理脚本,data参数传data2_str,接口调用成功。

exceptionItemA01_id = pm.environment.get("exceptionItemA01_id");
exceptionItemA02_id = pm.environment.get("exceptionItemA02_id");
exceptionItemA03_id = pm.environment.get("exceptionItemA03_id");


data2 = '[{"id":'+ exceptionItemA01_id +'},' + '{"id":'+ exceptionItemA02_id +'},' + '{"id":'+ exceptionItemA03_id +'}]';

data2_str = encodeURIComponent(data2);
pm.environment.set("data2_str", data2_str);

Postman参数:urlencoded处理_第2张图片
图片.png

你可能感兴趣的:(Postman参数:urlencoded处理)