azure 从APIM中的URL中删除查询参数的策略?

p8ekf7hl  于 2023-06-30  发布在  其他
关注(0)|答案(1)|浏览(108)

我在APIM中有一个API。当调用API时,我想从URL中删除一个查询参数(代码中的“ax-ky”),保留其余参数(Page)。我在想APIM的政策会帮助我删除“斧头”。我已经尝试过herehere的解决方案,但它们没有与我的API一起工作。在实现下面的新入站策略后,我得到了500个状态码,并带有消息“InternationalServerError”。
目前我的代码在“入站”策略中,如下所示:

<set-query-parameter name="ax-ky" exists-action="override">
            <value>@(context.Product.Name)</value>
        </set-query-parameter>
        <rewrite-uri template="_/_?Page={Page}" />

**编辑:**添加Trace“set-query-parameter”截图-->在set-query-parameter中删除Query参数,但URL返回给用户时不会删除。

bis0qfac

bis0qfac1#

我已尝试在我的环境中重现该问题,并获得了预期结果

这里我使用的是Echo API,其中我从Get resource操作中删除param1,并使用以下策略保持其余URL原样

<inbound>
<base />
<set-query-parameter  name="param1"  exists-action="delete"  />
</inbound>

Test Result

请求的URL

回复

在Trace中,我可以看到请求URL中的以下变化

尝试将策略中的**exists-action="override"改为exists-action="delete"**,也会得到结果。

相关问题