跳到主要内容

Coding with Run in Postman

一些 API 发布者在他们自己的 API 文档旁边使用Run in Postman按钮。例如,如果用户在开发人员门户中输入数据,则 Run in Postman API 可以将此提供的信息作为环境变量值动态注入到嵌入式Run in Postman按钮中。

Run in Postman API 使用该方法通过现有的动态Run in Postman_pm()按钮在你网站的客户端代码中创建或更新环境。

作为另一个示例,你可以使用 API 将登录凭据传递给 Postman:

_pm('env.create', 'Spotify', {
user_id: 'spotifyuser',
authorization: 'Bearer 1234xyzd'
});

创造新环境

使用env.create创建新环境的方法:

_pm('env.create', 'environment_name', {key: value}, runButtonIndex);

你不能用来env.create创建重复的环境。使用现有环境名称进行的调用将失败。

使用用户输入的 API 密钥创建新环境:

function () {
var stagingKey = document.getElementById('staging-key-input').value,
productionKey = document.getElementById('production-key-input').value,
runButtonIndex = 0,
envData = {
stagingKey: stagingKey,
productionKey: productionKey
};

_pm('env.create', 'API Keys', envData, runButtonIndex);
}

该操作将在成功和失败时返回与页面上的Run in Postmanenv.create按钮关联的环境总数。false

编辑现有环境

使用env.assign方法更新环境:

_pm('env.assign', 'environment_name', {key: new_value, new_key: value}, preventOveride, runButtonIndex)

env.assign方法适用于你在创建时包含在“在 Postman 中运行”env.create按钮中的环境,或者你使用该方法添加的环境。你不能用于env.assign创建新环境。env.assign如果环境尚不存在,调用 using 将失败。

更新环境的 API 密钥:

function () {
var stagingKey = document.getElementById('staging-key-input').value,
productionKey = document.getElementById('production-key-input').value,
preventOveride = true;
runButtonIndex = 0,
envData = {
stagingKey: stagingKey,
productionKey: productionKey
};

_pm('env.assign', 'API Keys', envData, preventOveride, runButtonIndex);
}

该操作将在成功或失败时env.assign返回。true``false

替换现有环境

使用该env.replace方法替换整个环境:

_pm('env.replace', 'environment_name', {key: value}, runButtonIndex)

你不能用来env.replace替换不存在的环境。

更换环境:

// Existing environment named 'user_data'
{
auth_token: 'q4yugoiwqu4habddef3897ryq3891s',
user_id: '823',
session_data: {}
}

// Replace the 'user_data' environment
_pm('env.replace', 'user_data', {});

env.replace方法将在成功时返回truefalse失败时返回。

删除现有环境

使用该env.remove方法删除现有环境。

_pm('env.remove', 'environment_name', runButtonIndex)

要删除环境:

// Existing environment named 'user_data'
{
auth_token: 'q4yugoiwqu4habddef3897ryq3891s',
user_id: '823',
session_data: {}
}

// Remove the 'user_data' environment
_pm('env.remove', 'user_data');

该方法将在成功或失败时env.remove返回。指定的环境必须存在,否则将失败。true``false``env.remove

在不同的环境中使用多个按钮

你可以在一个页面上嵌入多个按钮。如果要在每个按钮中包含不同的环境,请启用该segregateEnvironments属性。

_pm('_property.set', 'segregateEnvironments', true);

如果启用segregateEnvironments,你将不得不runButtonIndex在所有pm()方法中使用以根据按钮在页面 DOM 中的位置来引用每个按钮。因为segregateEnvironments默认情况下是停用的,runButtonIndex默认情况下是可选的。

包括索引

如果启用segregateEnvironments,则必须runButtonIndex在所有pm()方法中使用根据按钮在页面 DOM 中的位置来引用每个按钮。是runButtonIndex一个整数。

var runButtons = Array.prototype.slice.call(document.getElementsByClassName('postman-run-button')),
runButtonIndex = runButtons.indexOf(elem);

为 jQuery 使用索引

var runButtonIndex = $('postman-run-button').index(elem);

获取所有环境

你可以使用该get()方法检索所有环境的数组。

_pm('_property.get', 'environments')

这将返回一组环境:

[
{
"button_index": 0,
"name": "env1",
"values": [
{
"key": "testKey",
"value": "testValue",
"enabled": true
}
]
}
]

下一步

在创建Run in Postman按钮后,你可以通过在公共工作空间中创建文档来更广泛地共享你的 API。

  • 要了解如何在 Postman 中创建 API 文档,请访问 记录你的 API
  • 要了解如何将你的文档添加到你的公共工作空间,请访问 发布你的文档