springboot自定义拦截器和全局异常处理器
一、自定义拦截器
- 创建web的全局配置类
- @Configuration
- 继承WebMvcConfigurerAdapter
@Configuration//声明这是一个配置
public class MyInterceptor extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
HandlerInterceptor inter = new HandlerInterceptor() {
@Override
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
System.out.println("自定义拦截器......");
return true;
}
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
throws Exception {
// TODO Auto-generated method stub
}
@Override
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
// TODO Auto-generated method stub
}
};
registry.addInterceptor(inter).addPathPatterns("/**");
}
}
二、全局异常处理器
//全局异常处理器
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
@ResponseBody
public Map<String, Object> handleException(Exception exception) {
Map<String, Object> map = new HashMap<>();
map.put("errorCode", 500);
map.put("errorMsg", exception.toString());
return map;
}
}