如何在azure APIM策略中解码HTTP请求查询字符串



我有以下格式的URL,我想解码查询字符串并重写URL。

https://api.test.abc.com/parameters?username=%7Busername%7D

如何使用策略解码用户名并以以下格式重写:

API终点:/api/affiliated/users/userInfo/?username=abcd.gmail.com

非常感谢。

您可以在APIM策略中使用System.Net.WebUtility

System.Net.WebUtility.UrlDecode(context.Request.Url.Query["username"]

您可以手动解码。

context.Request.Url.Query["username"] | Replace:'%7B','{' | Replace:'%7D','}'

将该用户名保存在一个变量中,并在重写模板中使用。

我也想知道一些在APIM策略中解码url的方法。

我们不能直接解码,因为没有选项,我们必须删除第一个查询参数,并通过更改和解码查询参数来重写URI。我使用了下面的代码片段来执行它。(因为问题还在于用visibleToUserId替换URL中的用户名,并对值进行解码。(

@(转换.ToBase64String(编码.UTF8.GetBytes((字符串(context.Request.MatchedParameters[\"visibleToUserId\"]((.Replace('=','~'(.Replate('+','-'(.Reface('/','_'((

最新更新