如何在 POSTMAN 环境中添加授权 header?

How to add authorization header in POSTMAN environment?

我正在使用 POSTMAN 测试一堆 API 调用。我可以将它作为 POSTMAN 环境的一部分,而不是为每个请求添加授权 header 吗?所以,我不必在每次请求时都传递它。

邮递员通常会记住您在 header 中发送的 key-value 对。所以没必要每次请求都加headers。无论如何,您可以使用您的身份验证令牌配置 "Preset"。

是的,您可以通过 Postman 将您的 header 分配为环境变量来执行此操作,比方说 authorization,如下所示:

然后设置你的环境变量,其值如下:

如果你等不及了,这是我刚刚做的解决方法:

  1. 导出您的 collection(数据格式 v2.1)
  2. 打开 firefox、开发工具、便签本
  3. 粘贴下面的代码
  4. 用您的 header
  5. 替换 header 信息
  6. 将 var a 替换为您导出的 .json 文件的内容
  7. 运行 脚本
  8. copy(b) 命令会将新数据放入剪贴板
  9. 在 postman 中,单击导入 > 粘贴原始文本 > 导入 > 作为副本。
  10. 验证您的请求有您的 header 和 运行 :)

var myHeader = {
  "key": "X-Client-DN",
  "value": "{{Postman-DN}}",
  "description": "The User's DN Interacting with the system."
};

function addHeader(obj, header) {
  if (obj.hasOwnProperty('request')) {
    obj.request.header.push(myHeader)
  }
  if (obj.hasOwnProperty('item')) {
    obj.item.forEach(function(element) {
      element = addHeader(element, header);
    });
  }
  return obj;
}

var a = {
  "item": [{}, {
    "request": {
      "header": []
    }
  }, {
    "item": [{
      "request": {
        "header": []
      }
    }]
  }]
}

var b = addHeader(a, myHeader);
console.log(JSON.stringify(b, null, 2))

// Might have to run copy manually on console
//copy(b);

不确定这是否是您要查找的内容,但我们使用的 link-based API 需要对每个请求进行身份验证 headers。如果您转到 Postman > Preferences > General 并启用 Retain headers when clicking on links,Postman 将通过您的身份验证 headers 到 child 链接。

希望对您有所帮助!

在现代版本的 Postman 中,您只需在集合(或文件夹)上设置您的身份验证,并让每个请求都继承它(我相信新请求默认会这样做)。