这里我们有一个使用JSP的基本webapp,它需要提供一些基于JSON的REST服务URL.
这些网址将全部驻留在网站下/services并由网站生成MyRestServicesController.
我看到的用于设置基于JSON的视图的示例全部使用ContentNegotiatingViewResolver.但这对我来说似乎有点过分,因为这个解析器似乎意味着相同的URL可能产生不同的输出.
我只想让我的人RestServicesController永远生产MappingJacksonJsonView(s).
是否有一种更简洁,更直接的方法来直接控制器执行此操作?
Joh*_*erg 12
是否有一种更简洁,更直接的方法来直接控制器执行此操作?
就在这里.您可以查看我在Spring论坛中发布的这个示例.总之,我喜欢这样做的方式是通过以下方式.
ApplicationContext的:
<!-- json view, capable of converting any POJO to json format -->
<bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/>
Run Code Online (Sandbox Code Playgroud)
调节器
@RequestMapping("/service")
public ModelAndView getResultAsJson() {
Object jsonObj = // the java object which we want to convert to json
return new ModelAndView("jsonView", "result", jsonObj);
}
Run Code Online (Sandbox Code Playgroud)
编辑2013:在这些现代,@ skaffman的方法将是一个不错的选择.
如果您只需要输出JSON,那么视图层本身就是多余的.您可以使用@ResponseBody注释指示Spring使用Jackson直接序列化您的模型.它需要的配置少于MappingJacksonJsonView方法,并且代码不那么混乱.
| 归档时间: |
|
| 查看次数: |
7321 次 |
| 最近记录: |