MappingJacksonJsonView

MappingJacksonJsonView

在这里,我们有一个使用JSP的基本Web应用程序,该应用程序需要提供一些基于JSON的REST服务URL。

这些网址将全部位于/services下,并由MyRestServicesController生成。

我看到的用于设置基于JSON的 View 的示例都使用ContentNegotiatingViewResolver。但是,对于我来说,这似乎有些过激,因为此解析程序似乎是针对相同URL可能产生不同输出的情况。

我只希望我的一个RestServicesController总是产生MappingJacksonJsonView(s)

是否有一种更清洁,更直接的方法来简单地指示 Controller 执行此操作?

最佳答案



就在这里。您可以看一下我在Spring forums中发布的样本。简而言之,我更喜欢通过以下方式来做到这一点。

ApplicationContext:

<!-- json view, capable of converting any POJO to json format -->
<bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/>

Controller
@RequestMapping("/service")
public ModelAndView getResultAsJson() {
    Object jsonObj = // the java object which we want to convert to json
    return new ModelAndView("jsonView", "result", jsonObj);
}

编辑2013:在当今,@skaffman的方法将是一个不错的选择。

10-06 11:17