【发布时间】:2012-10-18 17:51:39
【问题描述】:
控制器中的同一个方法能否同时用于 JSP 和其他 MIME 类型(如 XML 和 JSON)?
我知道以下在 Spring MVC 中解析视图的方法。
- 返回带有视图名称的
String并将属性添加到Model或ModelMap - 返回带有视图名称和模型的
ModelAndView - 返回带有
@ResponseBody注释的Object
我在处理 JSP 时使用 1 或 2,当我想返回 JSON 或 XML 时使用 3。
我知道我可以使用两种方法并使用 @RequestMapping(headers="accept=application/xml") 或 @produces 注释来定义它们处理的 MIME 类型,但是否可以只用一种方法来做到这一点?
控制器逻辑非常简单,映射两个返回相同精确模型的不同方法似乎是不必要的重复,或者这只是它的完成方式?
【问题讨论】:
-
@ebaxt 我知道您可以使用
RequestMapping允许一种方法使用 JSON 响应,而另一种方法使用 JSP 响应。问题是如何在同一方法中同时处理 JSON 和 JSP。 -
啊 - 抱歉,没听清楚 :)
-
@ebaxt 根据您的评论和使用多种方法的示例数量,这似乎不是它的本意。通常情况下,我认为这是我与框架作斗争以做似乎正确的事情的一个例子(即使有一个明显的解决方案)。
-
只是想知道您是否按照我下面的回答尝试过使用
ContentNegotiatingViewResolver?
标签: spring rest spring-mvc