【问题标题】:Postman: how to fetch response data from one API and use it in another API (if I have two APIs in one collection)Postman:如何从一个 API 获取响应数据并在另一个 API 中使用它(如果我在一个集合中有两个 API)
【发布时间】:2019-07-04 00:42:44
【问题描述】:

我有两个 API,一个用于登录,另一个提供有关数据的详细信息。

我的第一个 API 返回从第二个 API 获取详细信息所需的身份验证密钥。所有用户的身份验证密钥都不同。

我将这两个 API 保存在一个集合中并运行它们。我想从第一个 API 获取身份验证密钥并在第二个 API 中动态使用它,这样对于任何用户我都不必对身份验证密钥进行硬编码并使用它。我只需要读取 CSV 文件并相应地获取身份验证密钥。

我试过了:

var contract = datas[y];
pm.globals.set('details', contract);
pm.globals.get(details)
let dat = pm.globals.get(details);

我收到此错误:

无法引用对象详细信息

【问题讨论】:

    标签: postman web-api-testing postman-collection-runner


    【解决方案1】:

    您是否尝试过使用environmentglobal 变量来存储来自第一个响应的值,然后将此值与第二个请求的请求标头(?)一起使用。

    我在这里猜测名称和身份验证机制,因为您没有提供问题中的信息:

    pm.environment.set('token', pm.response.json().access_token)

    在第一个请求中添加类似的内容,在测试选项卡中,将存储令牌。

    然后,您可以使用请求标头部分中的{{access_token}} 语法作为身份验证令牌。

    这将使操作更加动态,并允许您停止对值进行硬编码。

    【讨论】:

    • 我试过了。我想通过在第二个 API 之后将其存储在变量中来在控制台中打印它来检查它所持有的值,但在这种情况下,它给出了错误-“Cant refference object”。
    • 您没有提供有关您正在尝试的内容的上下文或信息。最好先更新您的原始问题,然后我/其他任何人才能提供更好的答案。
    • 我看不到你更新了什么,它仍然没有意义,你添加的代码本身毫无意义。 “API”是指端点吗?第一个请求的响应正文是什么样的?您如何尝试在第二个请求中使用此数据。不要害怕添加图片/图片来说明您的设置方式 - 向人们提供更多详细信息以了解问题并帮助解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    • 2018-11-02
    • 1970-01-01
    • 2022-11-24
    • 2020-12-08
    • 2020-11-04
    • 1970-01-01
    相关资源
    最近更新 更多