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