Jersey post使用始终调用对象的默认构造函数

时间:2013-04-08 21:19:49

标签: java json jersey

当我尝试使用以Person作为参数的休息服务时,永远不会在我的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;
};

}

这是我的网络方法:

@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对象的名称总是空白的(或者我在默认构造函数中指定的任何名称)

任何线索为什么???此方法也会成功返回,因此只是不正确地接受对象才响应

0 个答案:

没有答案