有没有办法将来自 APIM 请求的查询参数作为路径参数传递给后端服务调用?例如:
对于以下 API 调用
base_url/a/{pathParam1}?query=Qvalue
我想将 URL 转换为:
base_url/a/Qvalue/{pathparam1}
此外,我将使用 URL 重写策略来更改 base_url 并添加更新的查询参数。
有没有办法将来自 APIM 请求的查询参数作为路径参数传递给后端服务调用?例如:
对于以下 API 调用
base_url/a/{pathParam1}?query=Qvalue
我想将 URL 转换为:
base_url/a/Qvalue/{pathparam1}
此外,我将使用 URL 重写策略来更改 base_url 并添加更新的查询参数。
您可以使用以下命令读取策略表达式中的查询参数: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", "");
}" />