Jersey (Jackson POJO マッピング) を使用して RESTful サービスを構築していますが、疑問があります... ドメイン内にGroupとQuestion POJO があるフォーラムのようなアプリケーションを想像してみてください。
Group.java
class Group{
int id;
String name;
//setter/getters
}
Question.java
class Question{
int id;
String title;
String text;
//setter/getters
}
ご覧のとおり、これら 2 つのクラスの間に定義された関係はありません。私が言おうとしていること グループには
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;
Hibernate を使用し、注釈を使用して関係を定義するため、HAS-A 依存関係からドメイン クラスをきれいに保とうとしています。問題は、別のリソースと HAS-A 関係を持つリソースに対して返したい JSON をフォーマットする最善かつ最も柔軟な方法は何かということです...