在Spring Boot中,您可以使用统一的返回结果体来定义默认的返回结果。这样可以确保在处理请求时,无论成功还是失败,都能返回一致的格式化响应。
首先,创建一个通用的响应类,用于封装返回的数据和状态信息。
public class ApiResponse<T> {
private int status;
private String message;
private T data;
// 构造方法和Getter/Setter方法省略
// 添加静态方法,用于创建成功的响应
public static <T> ApiResponse<T> success(T data) {
return new ApiResponse<>(200, "Success", data);
}
// 添加静态方法,用于创建失败的响应
public static <T> ApiResponse<T> error(int status, String message) {
return new ApiResponse<>(status, message, null);
}
}
在上述示例中,`ApiResponse`类定义了一个状态码(`status`)、消息(`message`)和数据(`data`)的通用响应结构。它还提供了静态方法`success`和`error`,用于创建成功和失败的响应对象。
接下来,在您的控制器方法中,使用`ApiResponse`作为返回类型,并根据业务逻辑返回相应的结果。
@RestController
@RequestMapping("/api")
public class MyController {
@GetMapping("/data")
public ApiResponse<String> getData() {
// 假设这里是获取数据的业务逻辑
String data = "Hello, World!";
return ApiResponse.success(data);
}
@GetMapping("/error")
public ApiResponse<String> throwError() {
// 假设这里是处理异常的业务逻辑
int status = 500;
String message = "An error occurred";
return ApiResponse.error(status, message);
}
}
```
在上述示例中,`getData`方法返回一个成功的响应,其中包含一个字符串数据。`throwError`方法返回一个失败的响应,其中包含一个自定义的错误状态码和错误消息。
通过使用`ApiResponse`作为返回类型,您可以确保在处理请求时,无论成功还是失败,都能返回一致的格式化响应,以便客户端能够正确解析和处理。