本文最后更新于:1 个月前
前言
碎碎念
想到初中数学老师说的一些话,当时老师训我,简单的题你不想写,难的你又你不会,最后你啥也没有,写博客亦是如此,一些基础的我不想写,但是难的东西我自己都弄不明白我怎么写嘞,最后可能就是啥也没有。所以转变思路,与其想着写一些高大上的技术博客,还不如把博客当成一个记录自己的一些见解的地方,自己的灵光一闪,加上日积月累的思路,在经过语言的整合,说不定能碰撞出一些巧妙的思路呢
正文
基础版本
这种大家应该用的比较多,这个泛型大家仁者见仁智者见智,你也可以不用泛型,直接用Object来玩。从结果看都一样。用泛型代码提示会友好一点。建议整个泛型,当然你要是觉得麻烦,你不应该觉得麻烦,如果觉得麻烦就应该直接全员Map了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| public class ResultBean<T> { private static final long serialVersionUID = 1L;
private Integer code; private String msg;
private T data;
public ResultBean() {
}
public ResultBean(Integer code, String msg) { this.code = code; this.msg = msg; } public ResultBean(Integer code, String msg, T data) { this.code = code; this.msg = msg; this.data = data; } }
|
上面这个版本,优点就是实现简单,但和我们要求的返回格式统一还是有点距离,魔法值太多,可以有千奇百怪的状态码,这远远达不到我们要求达到的统一返回格式。而且用起来也不方便,比如需要一个成功的返回数据,都是一样的,我们依然要写很多代码。懒是推动技术发展的第一动力啊。
进阶版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
| public class ResultBean2<T> { private static final long serialVersionUID = 1L; private Integer code;
private String msg;
private T data;
public Integer getCode() { return code; }
public ResultBean2() {}
public ResultBean2(Integer code, String msg) { this.code = code; this.msg = msg; }
public ResultBean2(Integer code, String msg, T data) { this.code = code; this.msg = msg; this.data = data; }
public ResultBean2(ResultCode resultCode) { this.code = resultCode.getCode(); this.msg = resultCode.getMessage(); } public ResultBean2(ResultCode resultCode, T data) { this.code = resultCode.getCode(); this.msg = resultCode.getMessage(); this.data = data; }
public static ResultBean2<?> successfully() { return new ResultBean2<>(ResultCode.SUCCESS); }
public static ResultBean2<?> failed() { return new ResultBean2<>(ResultCode.FAILURE); }
public static ResultBean2<?> error() { return new ResultBean2<>(ResultCode.ERROR); }
public static ResultBean2<?> successfully(Object data) { return new ResultBean2<>(ResultCode.SUCCESS,data); }
public void setCode(Integer code) { this.code = code; }
public String getMsg() { return msg; }
public ResultBean2<?> setMsg(String msg) { this.msg = msg; return this; }
public T getData() { return data; }
public ResultBean2<?> setData(T data) { this.data = data; return this; } }
enum ResultCode { SUCCESS(200, "成功"), FAILURE(400, "失败"), ERROR(500, "错误");
private Integer code; private String message;
private ResultCode(Integer code, String message) { this.code = code; this.message = message; }
public Integer getCode() { return code; }
public String getMessage() { return message; } }
|
这个就解决了第一个基础版本的多个痛点,比如一些简单的状态,你可以直接调用静态方法,但是规范和自由从来都不可能两者兼顾,大家可以自己看着来
另辟奇径版
这个版本我也是看了一个开源项目这样干的,当时就感觉有点东西,但是咋说呢。看代码吧
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| public class ResultMap extends HashMap<String, Object> {
private static final long serialVersionUID = 1L;
public static final String CODE = "code";
public static final String MSG = "msg";
public static final String DATA = "data";
public static final String COUNT = "count";
public static ResultMap getResultMap() { return new ResultMap(); }
public ResultMap() { super(); }
public ResultMap(Integer code, String msg) { getResultMap().put(ResultMap.CODE, code).put(ResultMap.MSG, msg); } public ResultMap(Integer code, String msg,Object data) { getResultMap().put(ResultMap.CODE, code).put(ResultMap.MSG, msg).put(ResultMap.DATA, data); }
@Override public ResultMap put(String key, Object value) { super.put(key, value); return this; }
}
|
好了,常见的就这几种咯,以后前后台传数据不用在用map了呦。😁😁😁😁
表情还挺好玩的😁😂😊🤣❤😍😒👌😘💕👍🙌🤦♀️🤦♂️🤷♀️🤷♂️✌🤞😉😎🎶😢💖😜👏💋🌹🎉🎂🤳🐱👤🐱🏍🐱💻🐱🐉🐱👓🐱🚀✔👀😃✨😆🤔🤢🤢🎁👧👦🧒👧🧑👨🧓🧓👩🦰👨🦰👱♀️👱♀️👨🦳👸🤴👮♂️👮♂️🥩🥙🥞🧇🥖🍖🍜🥡🌯
封面原图
郭德纲的一些话
店里的招牌是红烧肉,而你是一盘花生米,大家都来店里吃饭,点了红烧肉,也点了花生米,你要认清自己。要搞清楚,人们始终是奔着红烧肉来的,而不是花生米,你有自己的价值,但撑不起一桌菜。
