我们都知道做项目一般都会有全局异常统一处理的类,那么这个类在Spring中可以用@ControllerAdvice来实现,费话不多说,先看代码:


import org.springframework.ui.Model;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.*;
 
import java.util.HashMap;
import java.util.Map;
 
/**
 * rest controller 异常捕捉
 *
 * @author sam
 * @since 2017/7/17
 */
@ControllerAdvice
public class MyControllerAdvice {
 
    /**
     * 全局异常捕捉处理
     * @param ex
     * @return
     */
    @ResponseBody
    @ExceptionHandler(value = Exception.class)
    public Map errorHandler(Exception ex) {
        Map map = new HashMap();
        map.put("code", 400);
        map.put("msg", ex.getMessage());
        return map;
    }
    
    /**
     * 全局捕捉自定义异常(凡是抛出MyException的异常都会走这里)
     * @param ex
     * @return
     */
    @ResponseBody
    @ExceptionHandler(value = MyException.class)
    public Map myErrExceptionHandler(MyException ex) {
        Map map = new HashMap();
        map.put("code", 400);
        map.put("msg", ex.getMsg());
        return map;
    }
}

 

相关文章:

  • 2022-01-25
  • 2021-09-04
  • 2021-08-13
  • 2022-12-23
  • 2021-06-20
  • 2021-07-26
  • 2021-09-09
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-10-12
  • 2021-11-11
  • 2022-01-30
  • 2022-12-23
  • 2022-12-23
  • 2021-10-26
相关资源
相似解决方案