重写 Azure APIM 策略的 URL

问题描述 投票:0回答:1

我想允许公共表单 URL 在没有 v2(版本标识符)的情况下发送,然后将其添加回后端,v2 始终位于所有端点的操作和参数之前,如何使用

<rewrite-uri template=""/>
添加 v2返回以允许用户发送没有 v2 的 URL?

因此公共表单 URL 将是

https://bla.bla.com/myapi/Polices/12/14
https://bla.bla.com/myapi/Producers/12
。我需要重写为
https://bla.bla.com/myapi/v2/Producers/12
https://bla.bla.com/myapi/v2/Polices/12/14

我发现

rewrite
周围的文档对我的场景没有帮助,因为该示例似乎是在知道将传入的参数的操作级别编写策略。

我尝试过很多不同的事情,例如

<rewrite-uri template="@(context.Request.OriginalUrl.Path.Replace("/myapi/","myapi/v2/"))" />

但似乎没有任何作用。我如何重写我的网址?

azure azure-api-management apim
1个回答
0
投票

假设 API 管理服务中 API 的基本 URL 是 https://your-api-management.azure-api.net/myapi,并且您需要将所有请求重定向到 https://bla .bla.com/myapi/v2。难道您不能通过将 Web 服务 URL 设置为

https://bla.bla.com/myapi/v2
并使用
/*
前端 URL 的操作来实现它吗?

API settings

然后,对 https://your-api-management.azure-api.net/myapi/Polices/12/14 的请求将被重定向到 https://bla.bla.com/myapi/v2/Polices/ 12/14; 发送至 https://your-api-management.azure-api.net/myapi/Producers/12 的请求将被重定向至 https://bla.bla.com/myapi/v2/Producers /12

或者这不是您想要实现的目标?

© www.soinside.com 2019 - 2024. All rights reserved.