0
我有一個REST服務,與彈簧MVC內置:序列化父子對象
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<property name="contentType" value="text/plain"/>
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<util:list id="beanList">
<bean id="jsonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>
</util:list>
</property>
</bean>
爲了避免系列化循環引用我批註對象如下:
class Parent implements Serializable {
int parent_id;
@JsonManagedReference
private List<Child> children;
}
class Child implements Serializable {
int child_id;
@JsonBackReference
private Parent parent;
}
我的REST服務揭示了兩種分別獲得父母和孩子的「方法」:
@RequestMapping(value = "/parent/{id}", method = RequestMethod.GET)
@ResponseBody public Parent getParent(@PathVariable int id , Model model) {
Parent parent = myManager.getParent(id);
return parent;
}
@RequestMapping(value = "/child/{id}", method = RequestMethod.GET)
@ResponseBody public Child getChild(@PathVariable int id , Model model) {
Child child = myManager.getChild(id);
return parent;
}
第一種方法getParent工作如預期的那樣,並返回一個Parent,完成所有孩子,但第二個方法getChild返回一個孩子,不是有任何回到它的父母。
json for parent: {"parent_id": 1, "children": [{"child_id":1},{"child_id":2}]}
json for child: {"child_id":1}
所以我的問題是,如何設置序列化,以便getChild返回某種對其父對象的引用?
是否需要對父對象或實際父對象進行引用? – jtahlborn
我寧願實際的對象。問題是,如何代表孩子... – dortique