Spring Boot 统一数据返回格式
在Spring Boot中,为了统一数据的返回格式,你可以创建一个自定义的ResponseEntity
封装类。以下是一个简单的例子:
import org.springframework.http.ResponseEntity;
public class ResponseResult<T> {
private int code;
private String message;
private T data;
public ResponseResult(int code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
// Getters and Setters
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public static <T> ResponseEntity<ResponseResult<T>> ok(T data) {
return ResponseEntity.ok(new ResponseResult<>(200, "OK", data));
}
public static <T> ResponseEntity<ResponseResult<T>> error(int code, String message) {
return ResponseEntity.status(code).body(new ResponseResult<>(code, message, null));
}
}
使用ResponseResult
类,你可以在你的Controller方法中这样返回数据:
@GetMapping("/some-endpoint")
public ResponseEntity<ResponseResult<SomeData>> getSomeData() {
SomeData data = ...; // 获取数据的逻辑
return ResponseResult.ok(data);
}
如果有错误发生,你可以这样返回错误信息:
@GetMapping("/some-endpoint")
public ResponseEntity<ResponseResult<Void>> handleError() {
int errorCode = ...; // 错误代码
String errorMessage = ...; // 错误信息
return ResponseResult.error(errorCode, errorMessage);
}
这样,你的所有响应都将具有统一的格式,方便客户端处理。
评论已关闭