我試圖讓APIM採取重寫......不能得到PARAMS到Azure中阿比管理正確重寫URL
https://apimpath/customers/1234
到
https://backendpath/api/customers/1234
失敗。嘗試了幾件事情,但他們似乎都不認可customerId。我錯過了什麼?
------更新-------
嘗試下面的一些建議,並沒有幫助。下面是該相同的消息
嘗試添加它通過與這幾個變化的API全新的UI ...
PUT {{url}}/apis/customers/operations/GET?api-version=2016-7-7
{
"name": "GET",
"method": "GET",
"urlTemplate": "/{customerId}",
"templateParameters": [
{"name": "customerId", "type": "string"}
],
"policies": null
}
裏面添加成功操作...
PUT {{url}}/apis/customers/operations/GET/policy/?api-version=2016-7-7
<policies>
<inbound>
<base/>
<rewrite-uri template="/api/customers/{customerId}"/>
</inbound>
<outbound>
<base/>
</outbound>
</policies>
但上述請求失敗,結果爲...
{
"error": {
"code": "ValidationError",
"message": "One or more fields contain incorrect values:",
"details": [
{
"code": "ValidationError",
"target": "rewrite-uri",
"message": "Error in element 'rewrite-uri' on line 4, column 10: Only parameters specified in the original URL template can be used in the rewrite template. Original template is: /*"
}
]
}
}
似乎很奇怪。它看起來像你在做什麼是正確的。嘗試設置網址模板,將其保存,然後設置重寫網址模板作爲第二步。 –
另外,您可能想嘗試將其設置在Azure門戶的新UI中。 –
欣賞建議,但都無效。不知道有一個新的用戶界面,但如果失敗,同樣的錯誤。將該截圖添加到原始問題中。真的停留在這一個。 – sjdirect