java - 如何使用 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;}
}
解决方案
您只需要一个此类的序列化。这将是一个 POJO Human
。然后对于每个端点,您将返回如下内容:
String name = human.getName();
return Response
.status(Response.Status.OK)
.entity(name)
.build();
为此,端点方法必须返回 a Response
,例如:
public Response getOkResponse() {
但这将有助于查看您的端点代码。
推荐阅读
- unit-testing - 当 A 的方法在 Go 中返回 B 时模拟对象 A 和 B
- docker - 当我仍然需要对地址进行硬编码时,为什么还要使用 docker 链接?
- jsf - Myfaces 2.0.5:如果没有在字段中输入值,则禁用验证
- flutter - 如何使用 Widget 控制一些导航流程
- python - Beautifulsoup - 在 soup.find() 中传递变量
- kotlin - 使用 Dagger 提供没有接口的实例
- java - 尝试使用 Dbeaver DB 连接到 Sybase 时显示“未找到合适的驱动程序”错误
- apache-spark - 带引号的字符串读取的火花数据
- javascript - 反应试图以错误的路径访问文件
- r - 为什么 R 粘贴的小数比四舍五入的多,但只是有时?