如何使用JAXB为同一类实现2种不同的输出?

时间:2019-05-15 15:45:07

标签: java jaxb

我想知道,当我使用JAXB时,如何对同一个类进行2种不同的序列化

我有一班人,有名字和年龄。 我需要:在一个REST URL上检索此人的年龄,在第二个REST URL上,我们只能检索此人的姓名。 我该如何实现呢?

public class Human{

 private String name;
 private int age;

 public int getAge(){ return age;}
 public String getName() { return name;}
 public void setAge(int age){ this.age = age;}
 public void setName(String name) { this.name = name;}

}

1 个答案:

答案 0 :(得分:0)

您只需要一个此类的序列化。这将是Human的POJO。 然后,对于每个端点,您将返回以下内容:

String name = human.getName();

    return Response
      .status(Response.Status.OK)
      .entity(name)
      .build();

为此,端点方法必须返回Response,例如: public Response getOkResponse() {

但这将有助于查看端点的代码。