0

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;
};

}

これが私の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 に渡された人物オブジェクトの名前は常に空白です (または、デフォルトのコンストラクターで指定したものは何でも)

理由は何か?また、メソッドは正常に返されるため、オブジェクトを適切に受け入れないだけで正しく応答しています

4

0 に答える 0