azure - 如何在 Azure API 管理中访问路由参数
问题描述
查询字符串参数
我见过很多读取查询字符串参数的例子。
例如,采用以下 URI:
/api/Profile?id={accountId}
accountId
可以使用以下语法在策略 xml 中读取:
context.Request.Url.Query["accountId"]
路由参数
但是,如果我的 URI 的结构如下:
/api/profiles/{accountId}
accountId
当参数不在查询字符串中时,如何读取策略 xml?
解决方案
使用上面的示例,我可以accountId
通过以下语法阅读:
context.Request.MatchedParameters["accountId"]
例如,我可以将它分配给一个变量,以便在 APIM 策略文件的其他地方使用:
<set-variable name="account-id" value="@(context.Request.MatchedParameters["accountId"])" />
没有关于它的大量文档,但幸运的是,docs.microsoft.com上至少有一些关于 Context 变量的提及。
推荐阅读
- sql - SQL: "foreign key constraint fails" error message
- msbuild - Error occurred while restoring NuGet packages: The MSBuildProjectExtensionsPath MSBuild property could not be found for project Setup.wixproj
- reactjs - 在 React 中为某些路由使用布局
- java - I cannot figure out why the code keeps printing a value of one more than what I need
- python - Python网络浏览器在同一选项卡中打开网址
- javascript - React 中的 MSO 条件
- angular - 使用 Angular font-awesome 安装 font awesome pro 版本
- php - 如何从命令行将参数传递给 Laravel Dusk
- javascript - 关于fabricjs的组功能的困惑
- php - 如何使用 xampp 和 php 正确安装和运行 grpc