Api 无斜杠的邮递员路径变量
我有一个带有Api 无斜杠的邮递员路径变量,api,postman,integration,Api,Postman,Integration,我有一个带有CustomerNamepath变量的基本GET请求,我正试图在Postman中访问该变量,如下所示: https://my-domain.com/../{{version}}/{{tenant}}/{{company}}/AR/ARCustomers(":CustomerName") 由于某些原因,:前面没有/或\的路径变量无法识别,就像这样/:。此外,路径变量将被视为CustomerName”),除非我转义“。如果我以我认为它期望的方式输入这个,那么我将以A
CustomerName
path变量的基本GET请求,我正试图在Postman中访问该变量,如下所示:
https://my-domain.com/../{{version}}/{{tenant}}/{{company}}/AR/ARCustomers(":CustomerName")
由于某些原因,:
前面没有/
或\
的路径变量无法识别,就像这样/:
。此外,路径变量将被视为CustomerName”)
,除非我转义“
。如果我以我认为它期望的方式输入这个,那么我将以ARCustomers(“/:CustomerName/”
结束,但不幸的是,当我这样做时,它会像ARCustomers(“/TEST/”)
那样被转换成curl(添加不必要的/
)
如何在没有正斜杠的情况下设置路径变量,这是不可能的吗?
此外,在本例中,我在path变量周围使用了
“
,但实际上我需要它是”
,不幸的是,如果您的url类似于:
https://my-domain.com/AR/ARCustomers("/:CustomerName/")
path = pm.request.toJSON().url.variable.find((a)=>a.key==="CustomerName").value
console.log(pm.request.url.toString())
pm.request.url=pm.request.url.toString().replace(`/${path}/`,path)
console.log(pm.request.url.toString())
然后在预请求脚本中使用:
https://my-domain.com/AR/ARCustomers("/:CustomerName/")
path = pm.request.toJSON().url.variable.find((a)=>a.key==="CustomerName").value
console.log(pm.request.url.toString())
pm.request.url=pm.request.url.toString().replace(`/${path}/`,path)
console.log(pm.request.url.toString())
Postman属性是通过pm对象公开的,您可以从prerequest脚本修改除body之外的大多数属性
这里我们用content替换/content/为什么要使用path varaible而不是normal变量?我不想存储(隐藏)作为环境变量或集合变量,因为这里的期望是,在我们使用它进行故障排除和测试时,它会定期更改。查询变量位于
?
之后,因此我希望利用路径变量。您可以将预请求中的变量修改为pm.variables.set(“name”,value)