弹簧启动端点中的异常处理



我正在尝试在具有肥皂端点和REST控制器的Spring Boot应用程序中处理异常。

捕获剩余控制器中发生的异常非常简单,我只是设置了一个带有@controllerAdvice的类,该类带有@ExceptionHandler方法,并且所有异常都被抓住了。但是,该控制器视觉看似似乎没有捕获肥皂端点中发生的异常。有没有办法捕获@controllerradvice类中端点上抛出的异常?如果没有,是否有其他方法集中在整个应用程序中进行异常处理,而与例外的地方无关?

非常感谢您。

我们可以创建自定义异常:

@ResponseStatus(HttpStatus.NOT_FOUND) public class StudentNotFoundException extends 
RuntimeException {}

春季的例外处理程序:

@ControllerAdvice
@RestController
public class CustomizedResponseEntityExceptionHandler extends 
ResponseEntityExceptionHandler {
@ExceptionHandler(StudentNotFoundException.class)
 public final ResponseEntity<ErrorDetails> 
 handleUserNotFoundException(StudentNotFoundException ex, WebRequest request) {
  ErrorDetails errorDetails = new ErrorDetails(new Date(), ex.getMessage(),
  request.getDescription(false));
 return new ResponseEntity<>(errorDetails, HttpStatus.NOT_FOUND);
}

public class ErrorDetails {
private Date timestamp;
private String message;
private String details;
public ErrorDetails(Date timestamp, String message, String details) {
  super();
 this.timestamp = timestamp;
  this.message = message;
  this.details = details;
 }

最新更新