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

如何在WSO2 API Manager 3.2.0全局配置Content Type校验返回415状态码

在WSO2 API Manager 3.2.0中全局配置Content-Type校验返回415状态码

要实现REST API所有资源的全局Content-Type校验(仅允许application/json,否则返回415),可以通过自定义中介序列在网关层拦截不符合要求的请求,具体步骤如下:

1. 创建Content-Type校验中介序列

登录WSO2 APIM管理控制台,进入Main > Manage > Mediation > Sequences,创建一个新的入站序列,添加以下XML配置:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="GlobalContentTypeValidation">
    <!-- 获取请求的Content-Type头 -->
    <property name="REQUEST_CONTENT_TYPE" expression="get-property('transport','Content-Type')"/>
    <!-- 校验Content-Type是否为application/json(忽略大小写,支持带charset的情况如application/json;charset=utf-8) -->
    <filter source="$ctx:REQUEST_CONTENT_TYPE" regex="application/json.*" regexFlags="i">
        <then>
            <!-- 校验通过,继续请求流程 -->
            <log level="custom">
                <property name="ValidationResult" value="Content-Type is valid (application/json)"/>
            </log>
        </then>
        <else>
            <!-- 校验失败,返回415状态码及错误信息 -->
            <payloadFactory media-type="json">
                <format>{"error_code": "415", "error_message": "Unsupported Media Type. Only application/json is allowed."}</format>
                <args/>
            </payloadFactory>
            <property name="HTTP_SC" value="415" scope="axis2"/>
            <respond/>
        </else>
    </filter>
</sequence>

2. 全局应用该中介序列

方式一:应用到所有API

  1. 进入Main > Manage > API Manager > Policies > Mediation Policies
  2. 创建新的全局入站策略,关联刚才创建的GlobalContentTypeValidation序列
  3. 将该策略设置为全局默认,或批量应用到所有已发布的API

方式二:应用到单个API

进入目标API的编辑页面,切换到Runtime Configurations标签,在Inbound Mediation下拉菜单中选择GlobalContentTypeValidation序列并保存发布。

3. 验证效果

执行你提供的测试请求:

curl --location --request POST 'https://10.10.10.24:8243/pri/general/v1/service1' \
--data ''

此时网关会直接返回415 Unsupported Media Type状态码及自定义错误信息,而非之前的500内部错误。

说明

之前出现500错误是因为未校验的请求被转发到后端服务,后端无法处理无Content-Type或非JSON格式的请求导致内部异常。通过网关层提前拦截校验,既保证了返回正确的HTTP状态码,也避免了无效请求对后端服务的影响。

内容的提问来源于stack exchange,提问作者Ali farahzadi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 22:17:20