Postman预请求脚本中添加多请求头的实现方法求助
在Postman预请求脚本中为自定义请求添加多个请求头(含集合变量)
你之前的写法错误在于:echoPostRequest是自定义的请求配置对象,不能直接在对象内部调用pm.request.headers.add方法——这个方法是用来修改当前Postman界面中打开的请求的头部,而非你自定义的这个请求配置。
以下是两种正确的实现方式,均支持引入集合变量:
方式1:键值对对象格式(简洁易用)
直接用对象定义多个请求头,集合变量通过pm.collectionVariables.get()直接注入:
const echoPostRequest = { url: pm.collectionVariables.get("token_url"), method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': pm.collectionVariables.get("secret"), // 可继续添加更多请求头,比如自定义业务头部 'X-App-Id': pm.collectionVariables.get("app_id") } };
方式2:数组格式(支持更精细控制)
如果需要对请求头做启用/禁用等额外配置,可以用数组形式,每个元素是包含key、value的对象:
const echoPostRequest = { url: pm.collectionVariables.get("token_url"), method: 'POST', headers: [ { key: 'Content-Type', value: 'application/json', enabled: true }, { key: 'Authorization', value: pm.collectionVariables.get("secret"), enabled: true } ] };
配置完成后,依然使用你原来的逻辑发送请求即可:
pm.sendRequest(echoPostRequest, function (err, res) { // 这里写你的回调逻辑,比如解析token并存入集合变量 if (!err) { const token = res.json().access_token; pm.collectionVariables.set("access_token", token); } });
内容的提问来源于stack exchange,提问作者muqui_
相关产品推荐
相关产品推荐

