SpringMVC 异常处理 返回异常code及前端AJAX解析

后端:

统一异常处理器

@ControllerAdvice
public class DefaultExceptionHandler {

    @ExceptionHandler(value = Exception.class)
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    @ResponseBody
    public ErrorResponse errorResponse(Exception exception) {
        return new ErrorResponse(exception.getMessage());
    }

    /**
     * 没有权限 异常
     * 

* 后续根据不同的需求定制即可 */ @ExceptionHandler({NullPointerException.class}) @ResponseStatus(HttpStatus.UNAUTHORIZED) public ModelAndView processUnauthenticatedException(NativeWebRequest request, Exception e) { ModelAndView mv = new ModelAndView(); mv.addObject("exception", e); mv.setViewName("error/unauthorized"); return mv; } public class ErrorResponse { private String message; public ErrorResponse(String message) { this.message = message; } public String getMessage() { return message; } } }


Controller:

    @ResponseBody
    @RequestMapping(method = RequestMethod.GET, value = "status",produces = {"application/json"})
    public Test statusTest(Test t) throws Exception {
        //System.out.println(t);
        int a= 0/0;
        return new Test();
    }

SpringMVC 异常处理 返回异常code及前端AJAX解析_第1张图片

前端

SpringMVC 异常处理 返回异常code及前端AJAX解析_第2张图片

其余code处理方式一致

你可能感兴趣的:(SpringMvc-异常处理)