使用JAX-RS的JSON响应
我有一个简单的POJO,可以转换为JSON对象使用JAX-RS的JSON响应,json,jaxb,jax-rs,Json,Jaxb,Jax Rs,我有一个简单的POJO,可以转换为JSON对象 @XmlRootElement public class Data { public Data(){} private int roll; private String name; public int getRoll() { return roll; } public void setRoll(int roll) { this.roll = roll; }
@XmlRootElement
public class Data {
public Data(){}
private int roll;
private String name;
public int getRoll() {
return roll;
}
public void setRoll(int roll) {
this.roll = roll;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
这将转换为一个简单的JSON对象,如下所示
{
name: "Adrian",
roll: 77
}
这部分很好。现在,我系统中的所有json RETUN都将在名为object lile的数据中包含该对象
{
app_name:abc,
app_version:1
data:
{
user :
{
name: "Adrian",
roll: 77
}
}
无论我向客户端发送哪种类型的对象,我都希望它们是这种类型。有人能告诉我怎么做吗
亲切问候。如果您想将
数据
实例包装到某种包装器中,请编写一个带有适当JAXB注释的类:
@XmlRootElement
public class DataWrapper {
private Data data;
private String app_name;
private int app_version;
// Constructors, Getter, Setter
}
然后,您的JAX-RS方法将创建这样一个DataWrapper
,并返回它:
@GET
public Response getDataWrapper() {
DataWrapper dw = new DataWrapper(app_name, app_version, new Data(...));
return Response.ok(dw).build();
}
如果要将
数据
实例包装到某种包装器中,请使用适当的JAXB注释编写一个类:
@XmlRootElement
public class DataWrapper {
private Data data;
private String app_name;
private int app_version;
// Constructors, Getter, Setter
}
然后,您的JAX-RS方法将创建这样一个DataWrapper
,并返回它:
@GET
public Response getDataWrapper() {
DataWrapper dw = new DataWrapper(app_name, app_version, new Data(...));
return Response.ok(dw).build();
}