gpt4 book ai didi

azure-api-management - Azure APIM "rewrite-uri"策略 - 如何删除 URL 后缀?

转载 作者:行者123 更新时间:2023-12-03 16:04:05 26 4
gpt4 key购买 nike

我有 Azure APIM 面向公众的 URL - https://api.example.com/api/v1/storenumber/ordernumber 的要求



后端服务 URL( 注意 - 这里没有 URL 路径后缀) - https://back-end.service.com

所以我需要在 APIM 中删除“/api/v1/storenumber/ordernumber”。

如何在 Azure APIM 策略中实现这一点?

谢谢,
阿尼什。

最佳答案

假设您有主机名 my-service.azure-api.net 的 APIM 服务. APIM 服务中带有 URL 后缀 my-api 的 API ,以及 https://my-backend.com 的后端 URI .以及此 API 中的操作,其 URI 模板为 my/uri/template .

因此,对于来电

https://my-service.azure-api.net/my-api/my/uri/template

无需任何额外配置 APIM 服务将调用

https://my-backend.com/my/uri/template

因为默认情况下,APIM 服务将源 URI 方案+主机名+api 后缀替换为为相关 API 定义的后端 URI。

在最简单的情况下,当您的 API 只有一个操作时,您可以将 API 后缀设置为 api/v1/storenumber/ordernumber和操作模板到/ .这将导致面向公众的 URI
https://api.example.com/api/v1/storenumber/ordernumber

和此操作的后端 URI

https://back-end.service.com/

当然,当您在 API 中有多个操作时,这种方法更难使用。在这种情况下,您需要使用策略:https://docs.microsoft.com/en-us/azure/api-management/api-management-transformation-policies#RewriteURL .为此,您可以将 API 后缀和操作 URI 模板设置为任何内容,但将此策略添加到操作的入站部分:

<rewrite-uri template="/" />

rewrite-uri 策略的作用是覆盖后端请求的操作 URI 模板。

关于azure-api-management - Azure APIM "rewrite-uri"策略 - 如何删除 URL 后缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54314693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com