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