Java json回复的jersey和其他数据,无需修改实体类
假设我有一个Java json回复的jersey和其他数据,无需修改实体类,java,json,jersey,Java,Json,Jersey,假设我有一个person类,只有两个属性,name和age。我使用jersey的json回复会给我类似的东西 { "name":"john", "age":"21" } 有没有一种方法可以在不修改实体本身的情况下将附加信息添加到json回复中。如果我希望得到的答复是: { "name":"john", "age":"21" "favcolor":"red" } 比如说,favcolor是从数据库或其他地方检索的,不是person类的属性。可以这样做吗?
person
类,只有两个属性,name
和age
。我使用jersey
的json回复会给我类似的东西
{
"name":"john",
"age":"21"
}
有没有一种方法可以在不修改实体本身的情况下将附加信息添加到json回复中。如果我希望得到的答复是:
{
"name":"john",
"age":"21"
"favcolor":"red"
}
比如说,
favcolor
是从数据库或其他地方检索的,不是person
类的属性。可以这样做吗?从REST客户机的角度来看,如何构建资源表示并不重要。如果使用JAX-RS、Jersey和JAXB,建议使用@XmlRootElement
注释的类与返回的资源表示匹配
我举一个例子,这是这样的:
@XmlRootElement
class Person {
private String name;
private String age;
private String favcolor;
// Constuctor, Getter, Setter
}
这个序列化为JSON的类不一定是从某个后端检索到的同一个类
回答:我不知道有什么办法,我也不建议按照你的要求去做。泽西岛没有响应生成器或something@LionelKohA生成HTTP响应(状态、标题),但不生成内容。内容是由一个用户创建的。构建响应主体的最简单方法是使用JAXB注释类,就像我上面所画的那样。您可以继承exist person类,并添加其他属性。