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
方法将在成功时返回true
,false
失败时返回。
删除现有环境
使用该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。