Files
secure-device-demo/springboot-server/src/main/java/com/secure/demo/common/ApiResponse.java
TongTongStudio 93499fa189 feat: 重构为前后端分离架构并完善设备端演示
- 新增 Web 用户端(登录体系 + 统一 REST API 调用)
- 后端增加用户认证、统一 ApiResponse、CORS 支持
- Android 设备端迁移至 MVVM + DataBinding + Retrofit 网络层
- 完善 README 架构说明与密码学原理文档
- 新增 .gitignore 与持久化数据表说明
2026-08-21 04:34:58 +08:00

75 lines
1.6 KiB
Java

package com.secure.demo.common;
/**
* 统一 API 响应包装(前后端分离约定的标准响应格式)。
*
* <pre>
* {
* "code": 0, // 0 = 成功,非 0 = 业务失败
* "message": "ok", // 人类可读信息
* "data": { ... } // 业务数据(成功时存在)
* }
* </pre>
*
* Web 用户端与 Android 设备端都按此格式解析,不再各自约定裸 Map 结构。
*/
public class ApiResponse<T> {
public static final int CODE_OK = 0;
private int code;
private String message;
private T data;
public ApiResponse() {
}
public ApiResponse(int code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
public static <T> ApiResponse<T> ok(T data) {
return new ApiResponse<>(CODE_OK, "ok", data);
}
public static ApiResponse<Void> ok() {
return new ApiResponse<>(CODE_OK, "ok", null);
}
public static <T> ApiResponse<T> fail(int code, String message) {
return new ApiResponse<>(code, message, null);
}
public boolean isOk() {
return code == CODE_OK;
}
// ===== Getters & 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;
}
}