我有一个设置调用,它在标头中返回会话ID,如下所示。
curl -X GET --header 'Accept: application/json' 'https://<url>/initConn'
将会话ID作为响应标头的一部分返回为:
{ ...,
"sessionId": "111",
...
}
现在我必须在所有后续调用中使用相同的会话ID:
curl -X GET --header 'Accept: application/json' --header 'X-SESSION_ID: 111' 'https://<url>/someCommand'
使用邮递员,怎么可能:
答案 0 :(得分:3)
不确定如何通过命令行使用cURL
,但您可以使用Environment Variables
设置从一个API请求获取标头,保存它然后在另一个API调用中使用它。
假设我们有一个名为F1的API,它会在响应中为我们提供一个名为uid
的参数,我们需要在标题中使用此access_token
作为另一个API,名为F2
Manage Environments
。Manage Environment
,然后在新窗口中点击添加以添加新环境添加要添加的新环境变量名称。假设我希望我的变量被称为access_token
,因此我将向新添加的环境添加一个新密钥,并将值字段保持为空。
现在点击ADD
,然后转到Postman窗口,输入API F1的API端点,以及需要与F1一起发送的任何标头值。确保从显示的环境选项中选择新创建的环境。
现在转到位于headers
右侧的测试,并在测试窗口中输入以下内容,如下所示
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("access_token", jsonData.uid);
现在点击SEND
并等待来自F1的响应。
现在,由于我们希望响应中的uid
成为我们F2请求标头的一部分,我们需要在标头中添加它。
转到header
标签,然后输入uid
作为密钥,{{access_token}}
作为此密钥的值,如下所示。
现在,您已准备好发出F2请求。这将从第一个API F1中提取uid
,并将其作为API F2的标头传递
答案 1 :(得分:1)
使用post-request脚本(可能标记为&#34;测试&#34;我不在我的电脑上!)从响应中提取数据并将其存储在全局变量中。然后,在后续请求中,使用预请求脚本来抓取它,或直接在{{myVariableName}}
的标头中引用它。