和风·叁:后端接收前端传参,返回值泛型review;
创始人
2024-06-02 22:22:44
0

文章目录

  • 1 微风·壹:MyBatis中Controller层List集合接收数据,泛型添加与否
    • 1.1 问题的再引入
    • 1.2 问题的再分析
      • 1.2.1 list接口的接口文档
      • 1.2.2 后端统一返回结果类
      • 1.2.3 controller中代码
    • 1.3 结论
    • 1.4 引申结论

1 微风·壹:MyBatis中Controller层List集合接收数据,泛型添加与否

1.1 问题的再引入

引入:在前文微风·壹中我们探讨的问题MyBatis中Controller层List集合接收数据,泛型添加与否?,我们经过探讨得出:不能,理由:因为实体类只能生成唯一的对象。

同时实验了,不添加泛型时,会发生报错
在这里插入图片描述

1.2 问题的再分析

1.2.1 list接口的接口文档

注意:接口中的data返回值是必须的
在这里插入图片描述

1.2.2 后端统一返回结果类

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.3 controller中代码

对照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);}
}

1.3 结论

list接口中,data必须返回,而统一结果返回类中,定义我们在成功返回data时,必须使用泛型,因此,在我们得出不加泛型会报错的基础上,我们又得到这一佐证。

1.4 引申结论

那么,当我们在定义一个统一结果返回类时,能得到那些注意点?

  • ①首先,在定义统一结果返回类是,有数据返回,且成功的,我们必须可以考虑加上泛型,以合理的阈来接收,减少程序内存占用。
  • ②其次,只有响应状态的返回(成功||失败)时,我们考虑不加泛型。
  • ③最后,再返回错误的响应结果即信息时,我们考虑不加泛型。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...