引入:在前文微风·壹中我们探讨的问题
MyBatis中Controller层List集合接收数据,泛型添加与否?
,我们经过探讨得出:不能,理由:因为实体类只能生成唯一的对象。
同时实验了,不添加泛型时,会发生报错
注意:接口中的data返回值是必须的
private Integer code; //编码:1成功,0和其它数字为失败private String msg; //错误信息private T data; //数据public static Result success() {Result result = new Result();result.code = 1;return result;}public static Result success(T object) {Result result = new Result();result.data = object;result.code = 1;return result;}public static Result error(String msg) {Result result = new Result();result.msg = msg;result.code = 0;return result;}
注意:所标注出的代码,在统一结果返回类中,
success(T object)方法,当data必须返回时,此时需要加上泛型。
对照1.2.2我们得出的结果,
list接口中,data必须返回,而统一结果返回类中,定义我们在成功返回data时,必须使用泛型,
因此,在我们得出不加泛型会报错的基础上,我们又得到这一佐证。
/*** 根据分类id查询菜品* @param categoryId* @return*/@GetMapping("/list")public Result> list(Long categoryId) {log.info("分类id:{}", categoryId);List dish= dishService.list(categoryId);return Result.success(dish);}
}
list接口中,data必须返回,而统一结果返回类中,定义我们在成功返回data时,必须使用泛型,
因此,在我们得出不加泛型会报错的基础上,我们又得到这一佐证。
那么,当我们在定义一个统一结果返回类时,能得到那些注意点?
- ①首先,在定义统一结果返回类是,有数据返回,且成功的,我们必须可以考虑加上泛型,以合理的阈来接收,减少程序内存占用。
- ②其次,只有响应状态的返回(成功||失败)时,我们考虑不加泛型。
- ③最后,再返回错误的响应结果即信息时,我们考虑不加泛型。