spring /error接口

  @RequestMapping(value = "/error", method = RequestMethod.GET)
  public String error() {
    int i = 1 / 0;
    return "error";
  }

  @RequestMapping(value = "/error1", method = RequestMethod.GET)
  public String sleep() {
    try {
      Thread.sleep(1000);
      int i = 1 / 0;
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
    return "error1";
  }

请求/error1接口,因为该接口抛异常,所以最终会走到/error接口上,这与spring的错误处理策略有关

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 中,/error 接口用于处理应用程序中未捕获的异常。当应用程序中发生异常时,Spring Boot 会将异常信息封装成一个 ErrorController 类型的对象,并将其传递给 /error 接口进行处理。 默认情况下,Spring Boot 会将异常信息以 HTML 格式返回给客户端。如果需要将异常信息以 JSON 格式返回给客户端,则可以自定义 /error 接口的实现。 具体实现步骤如下: 1. 创建一个实现了 ErrorController 接口的类,例如: ``` @RestController public class MyErrorController implements ErrorController { @RequestMapping("/error") public ResponseEntity<Map<String, Object>> handleError(HttpServletRequest request) { Map<String, Object> errorAttributes = new HashMap<>(); errorAttributes.put("status", request.getAttribute("javax.servlet.error.status_code")); errorAttributes.put("message", request.getAttribute("javax.servlet.error.message")); // 添加其他错误信息 return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(errorAttributes); } @Override public String getErrorPath() { return "/error"; } } ``` 2. 在该类中定义 /error 接口的处理方法。在该方法中,可以从 HttpServletRequest 对象中获取异常信息,并将其封装成一个 Map 类型的对象。 3. 如果需要将异常信息以 JSON 格式返回给客户端,则需要在处理方法上添加 @RestController 注解。 4. 在 getErrorPath 方法中返回 /error 接口的映射路径。 这样,在应用程序中发生未捕获的异常时,就会调用自定义的 /error 接口进行处理,并将异常信息以 JSON 格式返回给客户端。 以上就是 Spring Boot /error 接口异常处理的简单介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值