0

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

对于以下 API 调用

base_url/a/{pathParam1}?query=Qvalue

我想将 URL 转换为:

base_url/a/Qvalue/{pathparam1}

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

4

1 回答 1

0

您可以使用以下命令读取策略表达式中的查询参数: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-10-04T11:30:03.580 回答