У меня есть требование, когда мне нужно реализовать ответ JSON, как показано ниже:
{
"group":{
"name": "MyGroup"
}
"members": {
"member1" : {
"memberCity": "Mumbai",
"memberName": "Ajay"
},
"member2" : {
"memberCity": "Banglore",
"memberName": "Vijay"
},
"member3" : {
"memberCity": "Chennai",
"memberName": "Sujay"
}
}
Что я сейчас делаю, так это то, что у меня есть модель ответа, которая принимает оба класса, членов группы
В классе Members есть несколько объектов Member, как показано ниже:
public class Members{
@JsonProperty("member1")
private Member member1;
@JsonProperty("member2")
private Member member2;
@JsonProperty("member3")
private Member member3;
//getters and setters
}
Когда я сохраняю группу, я возвращаю объект группы и извлекаю членов, создавая новых, настраивая их и настраиваяони возвращаются к ответу.
Set<MemberEntity> createdGroupMembers = createdGroup.getMembers();
Members allGroupMembers = new Members();
List<Member> allMembers = new ArrayList<>();
for (MemberEntity mem : createdGroupMembers) {
Member groupMember = new Member();
groupMember.setMemberName(mem.getMemberName();
groupMember.setMemberCity(mem.getMemberCity();
allMembers.add(groupMember);
}
allGroupMembers.setMember1(allMembers.get(0));
allGroupMembers.setMember2(allMembers.get(1));
response.setMembers(allGroupMembers);
Но я не думаю, что это хороший способ реализовать это. Любые предложения о том, как это можно сделать лучше?
Спасибо за вашу помощь.