azure apim set-body 策略问题中的响应更改
Posted
技术标签:
【中文标题】azure apim set-body 策略问题中的响应更改【英文标题】:Response change in azure apim set-body policy issue 【发布时间】:2020-09-24 06:56:42 【问题描述】:我正在使用 set-body 来操纵响应 我的实际反应如下
"collection":
"version": "1.0",
"href": "https://conferenceapi.azurewebsites.net:443/speakers",
"links": [],
"items": [
"href": "https://conferenceapi.azurewebsites.net/speaker/1",
"data": [
"name": "Name",
"value": "Scott Guthrie"
],
"links": [
"rel": "http://tavis.net/rels/sessions",
"href": "https://conferenceapi.azurewebsites.net/speaker/1/sessions"
]
]
我想要这样的回应
"customer":
"customerID": "1.0"
但我得到了类似的回应
"customer":
"customerID":
我在出站中使用了以下代码
<outbound>
<set-header name="Content-Type" exists-action="append">
<value>application/json</value>
</set-header>
<set-body template="liquid">
"customer":
"customerID": body.collection.version
</set-body>
</outbound>
你能告诉我哪里出错了
【问题讨论】:
【参考方案1】:您必须在入站部分执行此操作。
出站部分确实包含请求正文。
我能够重现您的问题: 当请求的 Content-Type 丢失时,它不起作用。 它正在处理请求 Content-Type application/json。
顺便说一句: 对于有效的 JSON,需要引号: "customerID": "body.collection.version"
【讨论】:
以上是关于azure apim set-body 策略问题中的响应更改的主要内容,如果未能解决你的问题,请参考以下文章
APIM:从 Azure DevOps CD 管道中的 Azure Blob 存储中检索策略 XML 失败,如收到错误,如提供的链接格式错误