package io.as.common.utils; import org.apache.http.HttpStatus; import java.util.HashMap; import java.util.Map; /** * 返回数据 * * @author Mark sunlightcs@gmail.com */ public class R extends HashMap { private static final long serialVersionUID = 1L; public R() { put("code", 0); put("msg", "success"); } public static R error() { return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, "未知异常,请联系管理员"); } public static R error(String msg) { return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, 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 map) { R r = new R(); r.putAll(map); return r; } public static R ok() { return new R(); } /** * App 等统一响应:成功时 {@code { "code": 200, "msg": "", "data": {...} }} */ public static R dataOk() { return dataOk(new HashMap()); } /** * App 等统一响应:成功时 payload 放在 {@code data} 内。 */ public static R dataOk(Map data) { R r = new R(); r.clear(); r.put("code", 200); r.put("msg", ""); r.put("data", data != null ? data : new HashMap()); return r; } /** * 统一响应(code 为 0):成功时 {@code { "code": 0, "msg": "", "data": {...} }} */ public static R dataSuccess(Map data) { R r = new R(); r.clear(); r.put("code", 0); r.put("msg", ""); r.put("data", data != null ? data : new HashMap()); return r; } /** * App 等统一响应:失败时 {@code { "code": code, "msg": msg, "data": {} }} */ public static R dataError(int code, String msg) { R r = new R(); r.clear(); r.put("code", code); r.put("msg", msg != null ? msg : ""); r.put("data", new HashMap()); return r; } public R put(String key, Object value) { super.put(key, value); return this; } }