首页 > 解决方案 > 如何使用 JAXB 为同一类实现 2 个不同的输出?

问题描述

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

我有一个人类班级,有名字和年龄。我需要:在一个 REST URL 上检索此人的年龄,而在第二个 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;}

}

标签: javajaxb

解决方案


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

String name = human.getName();

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

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

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


推荐阅读