springboot项目怎么自定义处理405 400 500的异常
时间: 2023-06-12 07:06:06 浏览: 244
在Spring Boot中,可以使用@ControllerAdvice注解定义一个全局的异常处理器类,然后在该类中使用@ExceptionHandler注解来处理各种异常。这样就可以自定义处理405、400、500等异常了。下面是一个示例:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(HttpRequestMethodNotSupportedException.class)
public ResponseEntity<String> handle405(HttpRequestMethodNotSupportedException ex) {
return ResponseEntity.status(HttpStatus.METHOD_NOT_ALLOWED).body("不支持该请求方法");
}
@ExceptionHandler(HttpMessageNotReadableException.class)
public ResponseEntity<String> handle400(HttpMessageNotReadableException ex) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("请求参数格式错误");
}
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handle500(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("服务器内部错误");
}
}
```
在上面的代码中,我们定义了三个异常处理方法,分别处理HttpRequestMethodNotSupportedException、HttpMessageNotReadableException和Exception异常。当发生这些异常时,Spring Boot会自动调用对应的异常处理方法,并返回我们自定义的响应。例如,当发生HttpRequestMethodNotSupportedException异常时,会返回状态码405和自定义的响应信息"不支持该请求方法"。
阅读全文