我想为@RequestParam变量设置一个硬编码的默认值一段时间。
例如:UI发送-->url.com/v1/apiName?水果=苹果、芒果
we want --> url.com/v1/apiName?fruits=apple,mango,banana
原因:UI调用这个API,他们发送2个默认值(不幸的是硬编码(,我们引入了1个新值。他们的部署需要时间,所以目前,我们希望覆盖他们的输入。
APIM新手,需要一些帮助。提前谢谢。
你试过"设置查询参数"-政策
<set-query-parameter name="fruits" exists-action="override">
<value>apple,mango,banana</value>
</set-query-parameter>
如果您想重写值,首先需要获取值,然后添加您的部分。您可以使用";设置查询参数";snippet方法执行此操作。
<set-query-parameter name="fruits" exists-action="override">
<value>@{
string fruits = context.Request.OriginalUrl.Querys["fruits"]; // apple mango
return $"{fruits},banana"; // concatenation
}</value>
</set-query-parameter>
通过这种方式,您将从请求中获得原始值,并将您的值添加到请求中。
2个URL,您将需要使用api管理+C#中的一些小知识(谷歌已经足够了(
https://learn.microsoft.com/en-us/azure/api-management/api-management-policy-expressions
https://learn.microsoft.com/en-us/azure/api-management/api-management-advanced-policies