异常和响应码
因为用RESTful设计的接口, 应该用状态码反映请求的错误, 不应该统一返回200 的状态码, 然后再通过 msg 来描述错误. 所以统一异常处理比较关键.
默认异常处理
SpringBoot 提供了默认的处理异常方式,当出现异常时就会默认映射到 /error。处理异常的程序在类BasicErrorController 中.
该类提供了两种异常处理的方法 :
方法 errorHtml 用于处理浏览器端请求时出现的异常.
方法 error 用于处理机器客户端请求时出现的异常。
这两种请求的的区别在于请求头中 Accept 的值 :
值为 text/html 时,方法 errorHtml 执行,返回 HTML 页面。
值为 application/json 时,方法 error 执行,返回 json 数据。
errorHtml 和 error 两个方法的源代码