Azure API 管理 "rewrite url" - 如何删除 URL 前缀

Azure API Management "rewrite url" - how to remove the URL prefix

我有大量publicURL以/abc/*开头的,例如:

/abc/user

/abc/login

/abc/group/admin

如何重写 URL 规则来摆脱 /abc/* 这样的:

/user

/login

/group/admin

我尝试将 URL 模板设置为 /abc/*,重写模板为 /。貌似url模板可以搞定上面的url,但是rewrite模板写不出我想要的结果。

我测试了你的场景 - 这给你 /xxxx 作为 /abc/xxxx:

的转发路径
<rewrite-uri template="@(context.Request.OriginalUrl.Path.Replace(context.Api.Path+"/abc",""))" copy-unmatched-params="true" />

或者更通用:

<rewrite-uri template="@(context.Request.OriginalUrl.Path.Replace(context.Api.Path+context.Operation.UrlTemplate.Replace("/*",""),""))" copy-unmatched-params="true" />