public class JSONResult<T>{
        private String code;
        private String message;
        private T data;
		private Object data;
    }
    
用这个类的时候,写泛型,写起来麻烦又感觉不太好看; 不写泛型,直接用原始类型,不好,IDEA 报警告; 不用泛型,用 Object,解析时还得强转,IDEA 也报警告。
|  |      1luckyrayyy      2020-01-07 21:18:05 +08:00 泛型就很优雅啊...Object 肯定不行。 | 
|  |      2NeinChn      2020-01-07 21:18:35 +08:00 找一个不会报警 /报警颜色不突出 /可以关掉所以异常判断的编辑器 (大厂都这么做,比如头条,狗头保命 | 
|      3luozic      2020-01-07 21:20:43 +08:00 via iPhone Java 有类型推断或者模式匹配么? 没有… 还是找个看不到的吧。 | 
|  |      4chendy      2020-01-07 21:23:23 +08:00 不用…直接返回结果 + 异常机制 | 
|  |      5chendy      2020-01-07 21:25:52 +08:00 貌似理解错了问题… 服务端和客户端都可以用泛型,不太懂楼主说的不好看是哪里不好看 没有泛型的话解析只能拿到 Map 吧… | 
|      6billlee      2020-01-07 21:43:33 +08:00 所以你需要的是类型推导,用 scala 或者 kotlin 就可以不写类型。 | 
|      7crclz      2020-01-07 22:10:48 +08:00 if 类库代码: result 的模式会较少用到。如果用到,设计专有的 result,而不是通用的. if Http 响应体: if 查询类接口: 设计专有的 DTO 类 if 命令类接口: 楼主的代码挺好的。 if 想让前端确切、方便的知道响应的 schema(swagger 解析): 设计专有的 DTO | 
|      8tun      2020-01-07 23:06:28 +08:00 via Android 关闭警告 | 
|      9agzou      2020-01-07 23:08:38 +08:00 @Data public class JSONResult<T> { public static final String SUCCESS = "OK"; public static final String ERROR = "ERROR"; private String msg; private String status; private T data; public JSONResult() { } public JSONResult(T data) { this.data = data; this.status = SUCCESS; } public JSONResult(String msg) { this.status = ERROR; this.msg = msg; } public static <T> JSONResult<T> ok(T data) { return new JSONResult<>(data); } public static <T> JSONResult<T> ok() { return new JSONResult<>(); } public static <T> AjaxResponse<T> error(String msg) { return new JSONResult<>(msg); } } | 
|  |      10araaaa      2020-01-07 23:20:41 +08:00 via iPhone  1 泛型怎么就不优雅了 | 
|  |      11zjsxwc      2020-01-07 23:30:54 +08:00 via Android 知足吧,某没泛型的语言里,只能写一大堆 struct 来作为 dto | 
|  |      12KuroNekoFan      2020-01-08 06:46:40 +08:00 via iPhone 返回一个字符串算了 | 
|  |      13myidea      2020-01-08 09:23:28 +08:00 data 用 Object 就行了,直接往里放,返回前端转成 json 都一样。 “用 Object,解析时还得强转”? -- 这里不需要手动转的,交由 spring 统一处理,理论上 JsonResult 应该只用于包装给前端的结果,不需要后端解析。 |