首页 > 解决方案 > 如何在 Azure API 管理中访问路由参数

问题描述

查询字符串参数

我见过很多读取查询字符串参数的例子。

例如,采用以下 URI:

/api/Profile?id={accountId}

accountId可以使用以下语法在策略 xml 中读取:

context.Request.Url.Query["accountId"]

路由参数

但是,如果我的 URI 的结构如下:

/api/profiles/{accountId}

accountId当参数不在查询字符串中时,如何读取策略 xml?

标签: azureazure-api-management

解决方案


使用上面的示例,我可以accountId通过以下语法阅读:

context.Request.MatchedParameters["accountId"]

例如,我可以将它分配给一个变量,以便在 APIM 策略文件的其他地方使用:

<set-variable name="account-id" value="@(context.Request.MatchedParameters["accountId"])" />

没有关于它的大量文档,但幸运的是,docs.microsoft.com上至少有一些关于 Context 变量的提及。


推荐阅读