【问题标题】:Azure APIM policy to pass query param as a path paramAzure APIM 策略将查询参数作为路径参数传递
【发布时间】:2021-10-04 07:37:16
【问题描述】:

有没有办法将来自 APIM 请求的查询参数作为路径参数传递给后端服务调用? 例如:

对于下面的 API 调用

base_url/a/{pathParam1}?query=Qvalue

我想将 URL 转换为:

base_url/a/Qvalue/{pathparam1}

我还将使用 URL 重写策略来更改 base_url 并添加更新的查询参数。

【问题讨论】:

    标签: azure azure-api-management api-management apim


    【解决方案1】:

    您可以使用以下命令读取策略表达式中的查询参数:context.Request.Url.Query.GetValueOrDefault("", "default value")。

    根据需求,需要修改uri,可以通过rewrite-uri策略进行设置。因此,您所需的政策声明应如下所示(在入站部分添加):

    <rewrite-uri id="setQvalue" template="@{ 
                    return "/base_url/a/Qvalue/"+context.Request.Url.Query.GetValueOrDefault("pathparam1", ""); 
                }" /> 
    

    【讨论】:

      猜你喜欢
      • 2021-11-15
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 2010-12-25
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 2014-08-12
      相关资源
      最近更新 更多