spring boot 默认异常处理的实现
对比两个方法的不同:setStatus()只是改了一下状态吗,而sendError()还有请求错误的意味,于是猜想是不是请求错误才会出现这种情况,将方法直接改为throw new RuntimeException(),发现拦截器拦截的请求的url居然是一个/error的url.这个/error的url并未在项目中定义过任何的控制器中,也从未发起这样的请求,上网一查询,原来这是Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容.一切真相大白了,但忽然想到如果是浏览器发起的请求,服务器错误后springboot默认异常处理返回的是html,但是如果像我们前后台分离的请求,返回就不应该是html而是json的错误信息了,这个要怎么区分呢?
下载地址
用户评论