spring boot 自定义类返回
时间: 2024-04-25 21:20:26 浏览: 130
springboot 自定义响应
Spring Boot提供了自定义异常处理的功能,可以根据不同的异常类型返回不同的响应结果。下面是一个示例代码,演示了如何在Spring Boot中自定义异常处理类:
1. 创建一个自定义异常类,继承自Exception类,并添加需要展示的信息等。例如,创建一个名为CustomException的类:
```java
public class CustomException extends Exception {
private String message;
public CustomException(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
}
```
2. 创建一个全局异常处理类,用于处理所有的异常情况。例如,创建一个名为GlobalExceptionHandler的类:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(CustomException.class)
public ResponseEntity<String> handleCustomException(CustomException ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(ex.getMessage());
}
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handleException(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Internal Server Error");
}
}
```
在上述代码中,使用@ControllerAdvice注解标记全局异常处理类,@ExceptionHandler注解用于指定处理特定异常的方法。handleCustomException方法用于处理CustomException异常,返回一个带有自定义异常信息的响应实体;handleException方法用于处理其他未处理的异常,返回一个带有"Internal Server Error"信息的响应实体。
3. 在控制器中抛出自定义异常。例如,在一个控制器方法中抛出CustomException异常:
```java
@GetMapping("/custom-exception")
public ResponseEntity<String> throwCustomException() throws CustomException {
throw new CustomException("Custom Exception");
}
```
在上述代码中,当访问"/custom-exception"路径时,将抛出CustomException异常。
通过以上步骤,你可以在Spring Boot中自定义异常处理类,根据不同的异常类型返回不同的响应结果。
阅读全文