我正在使用Jersey(杰克逊POJO映射)构建RESTful服务并且有一些疑问...... 想象一个类似论坛的应用程序,我在域中有组和问题 POJO。
Group.java
class Group{
int id;
String name;
//setter/getters
}
Question.java
class Question{
int id;
String title;
String text;
//setter/getters
}
正如您所看到的,我在这两个类之间没有定义任何关系。我想说的是集团没有
private Question[] questions;
当我打电话给GET / rest / groups时,我得到了一个完美的JSON:
{
[
{"id":1, "name":"Group name..." },
{"id":2, "name":"Group name..." }
]
}
当我要求GET / rest / groups / 12时,我想要得到的是:
{
"group":{
"id":12,
"name":"Group 12"
},
"questions":[
{"id":102, "title":"question title..." },
{"id":201, "title":"question title..." }
]
}
我能够通过在Group类中定义成员变量来获得类似的东西:
private Question[] questions;
我正在尝试从HAS-A依赖项中保持我的域类清理,因为我将使用Hibernate并将通过注释定义关系。 问题是: 什么是格式化JSON的最佳和最灵活的方式,我希望返回与另一个有HAS-A关系的资源......
答案 0 :(得分:0)
您需要构建类似GroupResponse
对象的内容:
class GroupRespose {
final Group question;
final List<Question> questions;
}
并将此作为您的响应对象。这将为您提供您想要的格式(尽管给出了您的问题,我怀疑您真的想要final Group group
并且这是问题中的拼写错误。)