摘要: SpringMVC 自带的400或404 页面都是网页,不太适用于客户端需要的json数据
SpringMVC 自带的400或404 页面都是网页,不太适用于客户端需要的json数据,
默认的404:
默认的400页面:
如何实现对这些错误的响应自定义呢?
定义一个 ControllerAdvice 类:
在其中添加如下两个方法,分别响应400和404:
/*** * 响应400错误 * @param ex * @param session * @param request * @param response * @return */ @ExceptionHandler(org.springframework.beans.TypeMismatchException.class) public String handle400Exception2(org.springframework.beans.TypeMismatchException ex, HttpSession session, HttpServletRequest request, HttpServletResponse response) { String respCode = "400"; logger.error(respCode, ex); LogicBusinessException logicBusinessException = new LogicBusinessException(); logicBusinessException.setErrorCode(respCode); logicBusinessException.setErrorMessage(ex.getValue() + " " + ex.getMessage()); BusinessExceptionUtil.dealException(logicBusinessException, response); return null; } /*** * 响应404 错误 * @param ex * @param session * @param request * @param response * @return */ @ExceptionHandler(org.springframework.web.servlet.NoHandlerFoundException.class) //org.springframework.web.servlet.NoHandlerFoundException: No handler found for GET /agent2/follow/query/json, headers={host=[127.0.0.1:8080], connection=[keep-alive], upgrade-insecure-requests=[1]} public String handleNotFound404Exception2(org.springframework.web.servlet.NoHandlerFoundException ex, HttpSession session, HttpServletRequest request, HttpServletResponse response) { String respCode = "404"; logger.error(respCode, ex); LogicBusinessException logicBusinessException = new LogicBusinessException(); logicBusinessException.setErrorCode(respCode); logicBusinessException.setErrorMessage(ex.getRequestURL() + " " + SystemHWUtil.splitAndFilterString(ex.getMessage(), 60)); BusinessExceptionUtil.dealException(logicBusinessException, response); return null; }
我的处理方法是返回json,结果:
{ "result": false, "param": null, "errorCode": "404", "value": null, "error": { "code": "404", "hint": null, "msg": "/cooperate2/myReceived/listfilter/json No handler found for GET /cooperate2/myReceived/listfilter/j......" }, "extraInfo": null }
各位可以自定义我代码中的BusinessExceptionUtil.dealException 方法.
我在码云的代码库:
https://gitee.com/kunlunsoft/inetAdress_socket
https://gitee.com/kunlunsoft/stub_test
相关推荐
SpringMVC自定义多视图,多视图实现
自定义注解:SpringBoot中针对SpringMvc自定义注解获取用户登陆信息
springmvc自定义属性编辑器和参数解析器
springMVC自定义防重复提交,通过标签的方式实现
主要介绍了SpringMvc自定义拦截器(注解)代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
OA系统-springMVC/Mybatis/Mysql/Bootstrap OA系统-springMVC/Mybatis/Mysql/Bootstrap OA系统-springMVC/Mybatis/Mysql/Bootstrap
SSM笔记-SpringMVC自定义视图及重定向视图、语言国际化
主要介绍了SpringMVC自定义类型转换器实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了SpringMVC自定义拦截器实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了详解如何让Spring MVC显示自定义的404 Not Found页面,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本资源对应博文地址:http://blog.csdn.net/a582127421/article/details/40302767,可参考博文阅读代码
本文抛砖引玉,并没有详细的介绍更全面的内容,通过一个例子让初次使用的人能够快速入门,简单的介绍一下。 第一,注解: @Before – 目标
springMVC使用注解方式进行页面跳转
主要介绍了Springmvc自定义类型转换器实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
springmvc响应。
java版微信公众号开发之自定义菜单的创建代码中使用的SQL,创建自定义菜单的代码链接:https://www.blog-china.cn/liuzaiqingshan/home/10/1519376790015
SpringMVC自定义属性编辑器详解及实例 自定义springMVC的属性编辑器主要有两种方式,一种是使用@InitBinder标签在运行期注册一个属性编辑器,这种编辑器只在当前Controller里面有效;还有一种是实现自己的 ...
springmvc实例代码 有关springmvc入门请看 http://blog.csdn.net/zxw136511485/article/details/52583337
博客地址 : http://blog.csdn.net/baidu_19473529/article/details/79437434
springmvc对json支持