Java 自定义返回结果类 R - 统一格式化 API 响应
这段代码是一个自定义的返回结果类 'R',继承自 'HashMap<String, Object>',用于统一格式化返回结果。其中:
-
构造函数 'R()',会默认将 'code' 设为 0。
-
'error()'、'error(String msg)'、'error(int code, String msg)' 方法,用于返回错误结果。其中 'error()' 方法默认返回 500 错误码和 '未知异常,请联系管理员' 错误信息,'error(String msg)' 方法返回 500 错误码和自定义错误信息,'error(int code, String msg)' 方法返回自定义错误码和错误信息。
-
'ok()'、'ok(String msg)'、'ok(Map<String, Object> map)' 方法,用于返回成功结果。其中 'ok()' 方法默认返回 'code' 为 0,无 'msg' 和数据;'ok(String msg)' 方法返回 'code' 为 0,自定义 'msg',无数据;'ok(Map<String, Object> map)' 方法返回 'code' 为 0,自定义数据,无 'msg'。
-
'put(String key, Object value)' 方法,重写了 'HashMap' 的 'put' 方法,用于链式添加键值对。
public class R extends HashMap<String, Object> {
private static final long serialVersionUID = 1L;
public R() {
put("code", 0);
}
public static R error() {
return error(500, "未知异常,请联系管理员");
}
public static R error(String msg) {
return error(500, msg);
}
public static R error(int code, String msg) {
R r = new R();
r.put("code", code);
r.put("msg", msg);
return r;
}
public static R ok(String msg) {
R r = new R();
r.put("msg", msg);
return r;
}
public static R ok(Map<String, Object> map) {
R r = new R();
r.putAll(map);
return r;
}
public static R ok() {
return new R();
}
public R put(String key, Object value) {
super.put(key, value);
return this;
}
}
通过使用 'R' 类,可以统一 API 响应格式,方便客户端解析和处理,提高代码可读性和可维护性。
原文地址: https://www.cveoy.top/t/topic/gQdJ 著作权归作者所有。请勿转载和采集!