Java Jersey中的Moxy JAXB json映射返回415

Java Jersey中的Moxy JAXB json映射返回415,java,json,jaxb,jersey,moxy,Java,Json,Jaxb,Jersey,Moxy,我有一个带有POST方法处理程序的Jersey2服务 @Path("register") public class RegisterResource { @XmlRootElement class PostUserParams { String username; String password; public PostUserParams() {} } @POST @Consumes(MediaTyp

我有一个带有POST方法处理程序的Jersey2服务

@Path("register")
public class RegisterResource {
    @XmlRootElement
    class PostUserParams {
        String username;
        String password;

        public PostUserParams() {}
    }


    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    public postData(PostUserParams user) {
    ...
    }
}
但是我不能让POST请求工作-我已经得到415个不支持的媒体类型。我很肯定

  • 我在请求中有正确的内容类型
  • moxy、jaxb以及所有jar和依赖项都已正确部署
  • 我甚至尝试为jersey添加一些moxy配置,但根据文档,这似乎不是必需的
  • 其他不涉及JSON到Java转换的请求工作正常
  • 请求中的JSON是正确的

给出了什么?

经过大量的挖掘和调试(Jersey调试让我头晕目眩!)我发现了一个异常,不幸的是它被这些库吞没了

bean类(在本例中为positionParams)必须具有无参数构造函数。我有,但是这个类不是静态的,因此Java不这样对待它

解决方案:使姿势参数为静态。或者把它放在资源类之外