栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring @ExceptionHandler不适用于@ResponseBody

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring @ExceptionHandler不适用于@ResponseBody

你的方法

@ExceptionHandler(IllegalArgumentException.class)public @ResponseBody Map<String, Object> handleException(final Exception e, final HttpServletRequest request, Writer writer)

不起作用,因为它的返回类型错误。@ExceptionHandler方法只有两种有效的返回类型:

  • ModelAndView。

有关更多信息,请参见http://static.springsource.org/spring/docs/3.0.x/spring-framework-
reference/html/mvc.html
。这是链接中的特定文本:

返回类型可以是String,它被解释为视图名称或ModelAndView对象。

回应评论

Thanx,看来我太过分了。不好。有什么主意如何以xml / json格式自动提供异常?– Sven Haiges 7小时前

这是我所做的事情(我实际上是在Scala中完成的,因此我不确定语法是否完全正确,但是您应该明白要点)。

@ExceptionHandler(Throwable.class)@ResponseBodypublic void handleException(final Exception e, final HttpServletRequest request,        Writer writer){    writer.write(String.format( "{"error":{"java.class":"%s", "message":"%s"}}", e.getClass(), e.getMessage()));}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/398985.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号