2013-08-06 35 views
0

使用Spring和Jackson库来完成此操作的最佳方式是什么?Restful - 将Hibernate实体转换为JSON

例如:

Class A{ 
    Long id; 
    String name; 
    List<B> listOfB; 
} 

Class B{ 
Long id; 
String description; 
List<C> listOfC; 
} 

Class C{ 
    Long id; 
} 

当我做一个GET调用A,它应该给我A和和B的每一个A.但是B的列表的信息不应包括C的

名单

当我做一个GET调用B,它应该给我C'S为B的信息,并列出每个 B.

我知道我可以手动遍历并创建一个杰克逊的Json节点对象,但有一个框架,可以帮助这个过程?我似乎MVC 4使用ViewModel系统来做到这一点。 Java世界中通常用于RESTful服务的是什么?

回答

0

一个简单的方法是将包括jackson-mapper-asl依赖于你的类路径,并宣布你的Spring MVC处理方法是这样的:

@RequestMapping(...) 
@ResponseBody 
public A getA(..) { 
    A a = // fetch A object from persistence layer 
    return a; 
} 

@ResponseBody注释的存在将导致对象被翻译成JSON

+0

我已经使用了这个简单的对象,但是当列表中有列表并且涉及到延迟加载时,这不起作用。我看着杰克逊Hibernate实用程序,但我并不喜欢它。 – user724535