Spring Boot异常处理
Spring Boot对异常的处理有一套默认的机制:当应用中产生异常时,Spring Boot根据发送请求头中的 accept 是否包含 text/html 来分别返回不同的响应信息。当从浏览器地址栏中访问应用接口时,请求头中的 accept 便会包含 text/html 信息,产生异常时,Spring Boot通过 org.springframework.web.servlet.ModelAndView 对象来装载异常信息,并以HTML的格式返回;而当从客户端访问应用接口产生异常时(客户端访问时,请求头中的 accept 不包含 text/html ),Spring Boot则以JSON的格式返回异常信息。下面来验证一下。 默认异常处理机制 假设应用中有如下一个Controller: @RestController@RequestMapping ( "user" ) public class UserController @GetMapping ( "/{id:\\d+}" ) public void get ( @PathVariable String id ) { throw new RuntimeException ( "user not exist" ); }} 在代码中我们主动的抛出了一个 RuntimeException ,使用浏览器访问 http:/