加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

Spring Boot默认 异常处置

发布时间:2022-12-15 12:33:51 所属栏目:语言 来源:
导读:  在日常的 Web 开发中,会经常遇到大大小小的异常,此时往往需要一个统一的异常处理机制,来保证客户端能接收较为友好的提示。Spring Boot 同样提供了一套默认的异常处理机制,本节将对它进行详细的介绍。

 
  在日常的 Web 开发中,会经常遇到大大小小的异常,此时往往需要一个统一的异常处理机制,来保证客户端能接收较为友好的提示。Spring Boot 同样提供了一套默认的异常处理机制,本节将对它进行详细的介绍。
 
  Spring Boot 默认异常处理机制
  Spring Boot 提供了一套默认的异常处理机制,一旦程序中出现了异常,Spring Boot 会自动识别客户端的类型(浏览器客户端或机器客户端),并根据客户端的不同,以不同的形式展示异常信息。
 
  1. 对于浏览器客户端而言,Spring Boot 会响应一个“ whitelabel”错误视图,以 HTML 格式呈现错误信息,
 
  2. 对于机器客户端而言,Spring Boot 将生成 JSON 响应,来展示异常消息。
  {
      "timestamp": "2021-07-12T07:05:29.885+00:00",
      "status": 404,
      "error": "Not Found",
      "message": "No message available",
      "path": "/m1ain.html"
  }
  Spring Boot 异常处理自动配置原理
  Spring Boot 通过配置类 ErrorMvcAutoConfiguration 对异常处理提供了自动配置,该配置类向容器中注入了以下 4 个组件。
  ErrorPageCustomizer:该组件会在在系统发生异常后,默认将请求转发到“/error”上。
  BasicErrorController:处理默认的“/error”请求。
  DefaultErrorViewResolver:默认的错误视图解析器,将异常信息解析到相应的错误视图上。
  DefaultErrorAttributes:用于页面上共享异常信息。
 
  下面,我们依次对这四个组件进行详细的介绍。
  ErrorPageCustomizer
  ErrorMvcAutoConfiguration 向容器中注入了一个名为 ErrorPageCustomizer 的组件,它主要用于定制错误页面的响应规则。
  @Bean
  public ErrorPageCustomizer errorPageCustomizer(DispatcherServletPath dispatcherServletPath) {
      return new ErrorPageCustomizer(this.serverProperties, dispatcherServletPath);
  }
 
  BasicErrorController 的定义如下。
 

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!