所以,我有一个 Spring MVC 应用程序,我想要一种方法来确定资源何时不支持特定媒体类型。我正在考虑使用自定义 View 解析器来执行此操作...如果没有一个 View 解析器找到 View 名称的成功匹配,则抛出一个异常,触发不支持的媒体类型(HTTP 代码为 406
)。
这基本上是有意义的,因为如果无法解析给定的 View 名称,大多数 View 解析器将返回 null
。问题出现在诸如InternalResourceViewResolver之类的 View 解析器中,即使给定的 View 名称不存在,它也始终返回 View 。
作为引用,这是我的 Controller 的样子:
@RequestMapping(value = "/viewTest", method = RequestMethod.GET)
public ModelAndView getViewData() {
Map<String, Object> myModel = new HashMap<String, Object>();
myModel.put("rightNow", (new Date()).toString());
return new ModelAndView("foo", "model", myModel);
}
谢谢!
最佳答案
您可以通过 ContentNegotiatingViewResolver 获得大部分内容,尽管听起来您必须扩展 InternalResourceViewResolver
如果您希望它根据缺少特定 View 模板而表现不同。
关于java - 在 Spring 中确定不支持的媒体类型最理想的时间/地点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4889332/