【问题标题】:url rewrite for the file extension in Azure APIMAzure APIM 中文件扩展名的 url 重写
【发布时间】:2022-10-25 14:44:37
【问题描述】:
我需要帮助在 Azure APIM 中重写 url,我的场景是,我在这个 url 中有这个 url https://azure.websites.net/api/hello.json 我正在尝试从该文件 hello.json 中获取数据。但是当我调用这个 url 时我不想包含 .json 扩展名,我预期的 url 应该看起来像这样https://azure.websites.net/api/hello。当我调用这个 url 时,数据应该加载到我的客户端。谁能帮我解决这个问题。提前致谢。
【问题讨论】:
标签:
azure
azure-api-management
【解决方案1】:
可以使用 Azure APIM API 的入站策略 -rewrite URL 模板来替换客户端 URL。
我们可以根据我们的要求修改Azure APIM GitHub Doc 中给出的重写 URL 模板:
<rewrite-uri template="@(context.Request.OriginalUrl.Path.Replace(context.Api.Path+context.Operation.UrlTemplate.Replace("/*",""),""))" copy-unmatched-params="true" />
按以下格式放置您的原始 URL 和新 URL:
<set-header name="Location" exists-action="override">
<value>@(context.Request.OriginalUrl.ToString().Replace("http://","https://"))</value>
</set-header>
这应该应用于上面 Azure APIM 策略的 GitHub 文档中给出的 API 入站策略级别。