SpringMvc 异常处理
来源:互联网 发布:linux双机热备方案 编辑:程序博客网 时间:2024/05/24 06:47
使用场景
当使用Spring MVC进行Web开发的时候,对于异常可以进行集中式的处理
首先声明一个异常枚举类
public enum ExceptionDesception { NO_PERMISSION(-1,"无权限"); private int code; private String msg; ExceptionDesception(int code,String msg){ this.code=code; this.msg=msg; } public int getCode() { return code; } public String getMsg() { return msg; }}
方式1,使用继承或者实现接口的方式
a.声明一个BaseController用来集中处理异常
public class BaseController { @ExceptionHandler({WebApiException.class}) @ResponseBody public Object expHandler(WebApiException e){ return createResult(e); } public JSONObject createResult(BaseException e){ JSONObject result=new JSONObject(); result.put("code",e.getCode()); result.put("msg",e.getMessage()); return result; }}
或者上将其声明为接口,同时方法使用 default修饰然后让Controller继承自该BaseController即可
方式2 使用 @ControllerAdvice 该注解来处理异常
@ControllerAdvicepublic class BaseExceptionHandler { @ExceptionHandler({WebApiException.class}) @ResponseBody public Object expHandler(WebApiException e){ return createResult(e); } public JSONObject createResult(BaseException e){ JSONObject result=new JSONObject(); result.put("code",e.getCode()); result.put("msg",e.getMessage()); return result; }}
通过方式2,controller并不需要实现或者继承就能做到异常处理,相对方式1更加解耦一些
阅读全文
0 0
- Springmvc异常处理【Springmvc】
- springMVC异常处理
- SpringMVC中的异常处理
- springmvc 异常处理
- springMVC 全局异常处理
- springMVC之异常处理
- SpringMVC的异常处理
- SpringMVC异常处理
- springMVC的异常处理
- SpringMvc的异常处理
- springMVC全局异常处理
- springMVC之异常处理
- springMVC之异常处理
- SpringMVC-15 异常处理
- SpringMVC 常见异常处理
- SpringMVC 异常处理
- SpringMVC 异常处理
- SpringMVC 异常处理
- tomcat+nginx+redis实现均衡负载、session共享
- myeclipse通过svn提交导入maven多模块项目
- 2017年12月,北京云栖大会
- 卷积网络的层级结构
- Linux下Apache目录明细
- SpringMvc 异常处理
- Linux程序设计——文件操作
- Vue 组件 和 路由
- python 时间模块小结 time and datetime
- python bar
- 【MySql】查询数据库中所有表及列的信息
- JPA的一些API
- Freemarker模板引擎的使用总结(一)
- python 错误:UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position