假设我有一个返回对象列表的请求。 JSON具有ID数组。假设我在url中提供了一个对象ID,则另一个API端点允许我获取对象的详细信息。有什么方法可以使用列表响应的动态值,以便可以从下拉列表中选择详细信息请求中的其中一个ID?
例如:
GET /api/customers
[
{
"id": "abc",
...
},
{
"id": "foo",
...
}
]
GET /api/customers/{Dynamic Response Value}
{Dynamic Response Value
- "abc"
- "foo"
}
答案 0 :(得分:0)
据我所知(在Paw内)这是不可能的。所以有点希望有人证明我现在错了,或者为此写了扩展名。
但是我现在做的是以下事情。
1)通过请求上方的Manage
按钮打开环境管理,或使用菜单栏Windows
-> Environments
2)创建一个新的网上论坛,并将其命名为id_from
3)为您喜欢该功能的每个列表请求添加变量
4)添加带有动态值的列first_get:Response Parse Body
作为关键路径,它可能类似于:data.0.id
5)添加列last_get,这比较棘手,为此,我使用了2个动态值的组合:RegExp Match + Response Parse Body。
响应解析正文无法给出最后一个对象。所以我让它返回每个id。
密钥路径:data.*.id
然后使用RegEx仅过滤掉最后一个。
"?([0-9A-Za-z\-]+)"?]$
6)现在,您可以选择要使用的id_,并执行所需的请求
这对我来说就足够了,因为我主要使用过滤器和排序来检索列表,并且大多数情况下,第一个条目对我来说就足够了。
使用上面提到的2,您还应该可以添加第二,第三,第四等清单。
警告,如果列表中不包含您要的项目,则该环境变量将返回空。取决于API,这可能是有害的,例如/ object /上的DELETE与DELETE / object /上的删除。