SpringBoot里全局异常处理“jsonView”如何配置

来源:6-3 接口请求全局异常处理-设计与验证

慕码人5437048

2020-04-20

springboot的全局异常配置如下,但是只能返回“服务器处理异常, 建议刷新页面来保证数据是最新的”信息,具体配置的错误信息(例如删除部门时会提示“部门下属有人员配置,不能删除”的错误信息)如何显示。

是不是ModelAndView("jsonView",result.toMap())当中“jsonView”没有使用xml配置的原因?springboot中这个该如何配置?


@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)
    public ModelAndView handleException(HttpServletRequest request, Exception e) {
        String msg = e.getMessage();
        JsonData result = JsonData.fail(e.getMessage());
        ModelAndView modelAndView = new ModelAndView("jsonView",result.toMap());

        return modelAndView;
    }
}


写回答

1回答

Jimin

2020-04-20

@ControllerAdvice

@Slf4j

public class GlobalExceptionHandler {

    @ExceptionHandler(value = RuntimeException.class)

    @ResponseBody

    public JsonData exceptionHandler(RuntimeException ex) {

        log.error("unknown exception", ex);

        if (ex instanceof ParamException || ex instanceof BusinessException) {

            return JsonData.fail(ex.getMessage());

        }

        return JsonData.fail("系统异常,请稍后尝试");

    }

}

这样写就可以了

1
0

Java开发企业级权限管理系统

源于企业真实Java项目,涉及大量高级技巧,覆盖权限管理开发技术

2260 学习 · 1347 问题

查看课程