如何使用 JAXB 为相同的 class 实现 2 个不同的输出?

How can I implement 2 different output for same class with JAXB?

我想知道,当我使用 JAXB

时,如何使用相同的 class 进行 2 个不同的序列化

我有一个 class 人,有名字和年龄。 我需要:在一个 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;}

}

您只需要对此 class 进行一次连载。它将是 Human 的 POJO。 然后对于每个端点,您将 return 像这样:

String name = human.getName();

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

为此,端点方法必须 return 一个 Response,例如: public Response getOkResponse() {

但是查看您的端点代码会有所帮助。