我想让我的Spring MVC Web应用程序返回表示为JSON的模型状态。
我意识到通过@ResponseBody注释控制器方法,您可以在JSON和相应类型的对象之间进行转换。但是,我想要查看的模型对象直接对数据库说话而不维护任何状态。
因此我想知道我是否可以只填充地图(例如HashMap),并将其序列化为杰克逊?我意识到我可以为包含状态的模型创建新的View类,但我宁愿不必这样做。
感谢。
答案 0 :(得分:4)
我从我的几个控制器返回Map<String, ?>
,并且内容由Jackson自动转换为JSON - 正如您所说,当您还没有域对象时,这样做会更容易可以保存您希望返回的信息。
只要您在类路径中有jackson库并且弹簧配置中有<mvc:annotation-driven/>
,就应该自动完成此操作。我用于杰克逊的maven依赖:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.8.5</version>
<scope>runtime</scope>
</dependency>