这段代码是一个自定义的返回结果类 'R',继承自 'HashMap<String, Object>',用于统一格式化返回结果。其中:

  1. 构造函数 'R()',会默认将 'code' 设为 0。

  2. 'error()'、'error(String msg)'、'error(int code, String msg)' 方法,用于返回错误结果。其中 'error()' 方法默认返回 500 错误码和 '未知异常,请联系管理员' 错误信息,'error(String msg)' 方法返回 500 错误码和自定义错误信息,'error(int code, String msg)' 方法返回自定义错误码和错误信息。

  3. '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'。

  4. '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 响应格式,方便客户端解析和处理,提高代码可读性和可维护性。

Java 自定义返回结果类 R - 统一格式化 API 响应

原文地址: https://www.cveoy.top/t/topic/gQdJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录