SpringBoot controller层统响应数据对象类,完整代码
时间: 2024-09-10 09:08:54 浏览: 41
在Spring Boot的Controller层处理请求时,通常需要返回统一的数据格式给前端。为了实现这一点,开发者经常会创建一个通用的响应对象类(ResponseEntity或自定义的DTO类)。这里提供一个简单的示例,展示如何定义一个基础的响应数据对象类,以及如何在Controller中使用它来返回统一格式的数据。
首先,创建一个基础的响应数据对象类,例如名为`ApiResponse`的类,用于封装所有API响应数据:
```java
import java.util.HashMap;
import java.util.Map;
public class ApiResponse {
// 状态码
private Integer code;
// 消息
private String message;
// 数据
private Object data;
public ApiResponse() {
}
public ApiResponse(Integer code, String message, Object data) {
this.code = code;
this.message = message;
this.data = data;
}
// ... 省略getter和setter方法 ...
public static ApiResponse success(Object data) {
return new ApiResponse(200, "成功", data);
}
public static ApiResponse success(Object data, String message) {
return new ApiResponse(200, message, data);
}
public static ApiResponse fail(Integer code, String message) {
return new ApiResponse(code, message, null);
}
// ... 其他辅助方法 ...
}
```
然后,在Controller层使用这个`ApiResponse`类来返回响应:
```java
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@RestController
public class MyController {
@GetMapping("/example")
public ApiResponse example() {
Map<String, Object> data = new HashMap<>();
data.put("key1", "value1");
data.put("key2", "value2");
return ApiResponse.success(data, "获取数据成功");
}
}
```
在上面的例子中,我们定义了一个简单的`ApiResponse`类,包含状态码、消息和数据。`example`方法使用这个类来构造一个成功的响应。
阅读全文