1、前言
在SpringBoot项目中、看了一部分代码、发现一般的接口以JSON形式返回最佳、接口规范遵照RESTFUL风格来写、返回的结果集呢、借助包装类来包装、这样有利于前后端的交互、写出来的代码得到了规范。
2、两个包装类
1、CodeMsg
这个类主要是返回对应的状态码和信息的
package com.imooc.miaosha.result;
public class CodeMsg {
private int code;
private String msg;
//通用的错误码
//有参、无参构造
// get set 方法
// toString方法
}
2、Result
这个类是结果集映射类、主要是对返回的结果进行包装、将上面的code码和msg同时用泛型结果类包裹起来、有利于后续的JSON化以及使用。
public class Result<T> {
private int code;
private String msg;
private T data;
// 成功时候的调用
public static <T> Result<T> success(T data){
return new Result<T>(data);
}
// 失败时候的调用
public static <T> Result<T> error(CodeMsg codeMsg){
return new Result<T>(codeMsg);
}
private Result(T data) {
this.data = data;
}
private Result(int code, String msg) {
this.code = code;
this.msg = msg;
}
private Result(CodeMsg codeMsg) {
if(codeMsg != null) {
this.code = codeMsg.getCode();
this.msg = codeMsg.getMsg();
}
}
// get 和 set 方法
}
3、总结
借助包装类、很好的对代码进行规范、以及对于接口返回的数据得到了一定的格式、无规矩不成方圆、有了格式、自己看、别人看都能看懂、减少沟通成本、提升了的代码的效率。useful coding