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

NetBeans开发REST Web应用POST请求返回415错误排查问询

问题根因排查

415状态码本质是服务端无法识别请求携带的媒体类型,结合你提供的代码和配置,问题大概率出在以下几个环节:

  • 请求头配置错误
    你发送POST请求时未携带Content-Type: application/xml请求头,或是请求头值填错(比如误写为text/xml、application/json),和接口@Consumes("application/xml")声明的接收类型不匹配。这种情况下请求会在JAX-RS路由匹配阶段直接被拦截,不会进入你写的业务方法,因此不会打印业务日志属于正常现象。
  • Customer类缺少JAXB序列化注解
    Glassfish默认使用JAXB实现XML和Java对象的转换,如果你的Customer类没有加@XmlRootElement注解,服务端找不到对应XML的反序列化处理器,就会返回415。你需要在Customer类上添加注解:
    @XmlRootElement(name = "customer")
    public class Customer {
      // 类属性定义
    }
    
    同时如果类字段名和XML标签名不一致(比如你XML里是first-name,类属性是驼峰命名firstName),还需要给对应字段加@XmlElement(name = "first-name")注解做映射。
  • JAXB依赖缺失
    如果你使用的是JDK11及以上版本,JAXB已经从JDK默认内置模块中移除,需要手动在项目中引入JAXB的API和实现依赖,否则服务端没有处理application/xml类型请求的能力,也会触发415错误。
  • JAX-RS路由配置缺失
    你当前的web.xml是空配置,需要确认你的Application类已经正确配置了JAX-RS的应用路径,比如Application类上加了@ApplicationPath("/")或者对应前缀的注解,否则请求路由也可能出现异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:18:02