|
|
|
@ -1,51 +1,92 @@
|
|
|
|
|
package com.utils;
|
|
|
|
|
package com.utils; // 定义包名为com.utils,表示该类位于com.utils包下
|
|
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.HashMap; // 导入HashMap类,用于实现键值对存储
|
|
|
|
|
import java.util.Map; // 导入Map接口,用于处理键值对集合
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 返回数据工具类
|
|
|
|
|
//继承HashMap,提供统一的API响应格式封装
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 返回数据
|
|
|
|
|
*/
|
|
|
|
|
public class R extends HashMap<String, Object> {
|
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
|
|
|
|
private static final long serialVersionUID = 1L; // 序列化版本ID,保证序列化兼容性
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 默认构造函数
|
|
|
|
|
//初始化时默认设置code为0(表示成功)
|
|
|
|
|
|
|
|
|
|
public R() {
|
|
|
|
|
put("code", 0);
|
|
|
|
|
put("code", 0); // 默认成功状态码
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 创建错误响应(使用默认错误码和消息)
|
|
|
|
|
//@return 包含默认错误信息的R对象
|
|
|
|
|
|
|
|
|
|
public static R error() {
|
|
|
|
|
return error(500, "未知异常,请联系管理员");
|
|
|
|
|
return error(500, "未知异常,请联系管理员"); // 默认服务器错误
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 创建带自定义消息的错误响应(使用默认错误码500)
|
|
|
|
|
//@param msg 错误消息
|
|
|
|
|
//@return 包含自定义错误消息的R对象
|
|
|
|
|
|
|
|
|
|
public static R error(String msg) {
|
|
|
|
|
return error(500, msg);
|
|
|
|
|
return error(500, msg); // 使用默认错误码500
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 创建带自定义错误码和消息的错误响应
|
|
|
|
|
//@param code 错误码
|
|
|
|
|
//@param msg 错误消息
|
|
|
|
|
//@return 包含自定义错误信息的R对象
|
|
|
|
|
|
|
|
|
|
public static R error(int code, String msg) {
|
|
|
|
|
R r = new R();
|
|
|
|
|
r.put("code", code);
|
|
|
|
|
r.put("msg", msg);
|
|
|
|
|
r.put("code", code); // 设置错误码
|
|
|
|
|
r.put("msg", msg); // 设置错误消息
|
|
|
|
|
return r;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 创建成功响应(带自定义消息)
|
|
|
|
|
//@param msg 成功消息
|
|
|
|
|
//@return 包含成功消息的R对象
|
|
|
|
|
|
|
|
|
|
public static R ok(String msg) {
|
|
|
|
|
R r = new R();
|
|
|
|
|
r.put("msg", msg);
|
|
|
|
|
r.put("msg", msg); // 设置成功消息
|
|
|
|
|
return r;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 创建成功响应(带多个数据)
|
|
|
|
|
//@param map 包含多个键值对的数据集合
|
|
|
|
|
//@return 包含所有数据的R对象
|
|
|
|
|
|
|
|
|
|
public static R ok(Map<String, Object> map) {
|
|
|
|
|
R r = new R();
|
|
|
|
|
r.putAll(map);
|
|
|
|
|
r.putAll(map); // 添加所有数据到响应中
|
|
|
|
|
return r;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 创建默认成功响应
|
|
|
|
|
//@return 只包含默认成功码的R对象
|
|
|
|
|
|
|
|
|
|
public static R ok() {
|
|
|
|
|
return new R();
|
|
|
|
|
return new R(); // 使用默认构造函数
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 添加键值对到响应中(链式调用支持)
|
|
|
|
|
//@param key 键名
|
|
|
|
|
//@param value 键值
|
|
|
|
|
//@return 当前R对象(支持链式调用)
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public R put(String key, Object value) {
|
|
|
|
|
super.put(key, value);
|
|
|
|
|
return this;
|
|
|
|
|
super.put(key, value); // 调用父类HashMap的put方法
|
|
|
|
|
return this; // 返回当前对象以实现链式调用
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|