You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API级别APIM策略校验RESTful API的POST请求内容?

在APIM中为指定POST请求添加API级别内容校验的简便实现方式

直接在API级别的策略里通过条件判断精准匹配目标请求,再嵌入内容校验逻辑即可,具体步骤和代码如下:

  1. 进入你的API管理(APIM)控制台,找到目标RESTful API的API级别策略编辑页面(注意不是单个操作的策略编辑页)
  2. 在策略的<inbound>节点内添加以下条件判断+校验逻辑:
<inbound>
    <!-- 保留你已有的其他API级别策略 -->
    <choose>
        <!-- 仅匹配POST方法 + /users路径的请求 -->
        <when condition="@(context.Request.Method.Equals("POST", StringComparison.OrdinalIgnoreCase) && context.Request.Path.Equals("/users", StringComparison.OrdinalIgnoreCase))">
            <!-- 嵌入请求内容校验策略,示例为JSON Schema校验 -->
            <validate-content unspecified-content-type-action="prevent" max-size="102400" size-exceeded-action="prevent">
                <content-type-checks>
                    <content-type match="application/json" validate-as="json" schema-id="user-create-request-schema" />
                </content-type-checks>
            </validate-content>
        </when>
    </choose>
    <!-- 保留你已有的其他API级别策略 -->
</inbound>

关键说明:

  • <choose>+<when>是APIM策略的条件分支语法,能精准过滤出需要校验的目标请求,不会影响/getuser/{userid}的GET请求
  • validate-content是APIM内置的内容校验策略,可按需调整参数:
    • 替换schema-id为你提前上传到APIM的用户创建请求JSON Schema的ID
    • 可修改unspecified-content-type-action、max-size等参数,自定义校验规则
  • 这种方式无需给单个操作单独配置策略,所有API级别的请求都会经过这个条件判断,只有符合规则的POST请求才会触发校验

内容的提问来源于stack exchange,提问作者R.A 1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 18:13:15