Java Jersey post consume始终调用对象默认构造函数

Java Jersey post consume始终调用对象默认构造函数,java,json,jersey,Java,Json,Jersey,当我尝试使用以Person为参数的rest服务时,我的Person类中从不调用非默认构造函数 这是我的个人课: @XmlRootElement(name = "person") public class Person { protected String name; public Person(String name) { this.name=name; } // default constructor public Person(){this.name="";} @XmlEle

当我尝试使用以Person为参数的rest服务时,我的Person类中从不调用非默认构造函数

这是我的个人课:

@XmlRootElement(name = "person")
public class Person {

protected String name;

public Person(String name) {
    this.name=name;
}

// default constructor
public Person(){this.name="";}

@XmlElement(required=true, name="name")
public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
};

}
以下是我的web方法:

@Path("person/")
public class PostResource {

@Path("create")
@POST
@Produces("text/plain")
@Consumes("application/json")
public String createPerson(Person person) {
    return person.getName();
}
}
这是我的休息电话的正文:

{

"person": { "name":"some name"}

}
传递给createPerson的person对象的名称始终为空(或我在默认构造函数中指定的任何名称)


有什么线索吗???此外,该方法确实成功返回,因此它正确响应,只是没有正确接受对象

您所拥有的看起来应该适用于此JSON:
{“name”:“some name”}
。你知道这与你发布的JSON有什么不同吗?我知道它有什么不同是的,虽然我只是用{“name”:“some name”}尝试了一下,但仍然得到了相同的结果问题是,它为什么不调用setter?你设置了
com.sun.jersey.api.JSON.POJOMappingFeature
?没有设置POJO映射,我也没有JAXBContextResolver。现在工作!