00:00
各位同学大家好,下面呢我们继续来往下学习,刚才呢,我们项目中整合了swa哥two完成了接口测试,那下面呢,我们来看下一个内容,下一个内容是什么呢?它叫做定义统一返回接口对象,那这是什么?给各位先做个说明,然后咱们开始进行定义,各位注意啊,回到我们刚才的接口中,咱们以刚才为例,大家注意我这个接口,各位看到返回结果是什么,是不是一个list集合,最终转成JA森的数字格式,而这个结果是什么?是不是一个布尔类型啊,当然各位注意啊,我现在如果说我们用前端调用,那最终咱发现接口反应数据是不是都不一样了,那我前端也要做不同的处理,包括要做不同的判断。包括在实际的开发中,每个人的写的习惯应该不一样,比如说我习惯触false是成功失败,他可能习惯零和一成功失败,那这个时候咱前端调用的时候得到数据是不是还要做不能判断,所以说针对这种情况我们有一个约定,什么约定让所有接口都返回相同格式数据,不管你是增加、修改、删除还是查询,那都返回同样格式数据,这个时候咱们前端调用在解析就会特别方便,所以咱们要做的就是定义统一反应结果,让所有接口都返回相同格式的数据,这是咱们要做的这个最终的目的。
01:43
下面呢,大家看一下我的课件里边,我这里边呢,列了几个常见的格式,首先各位看第一个格式,第一个格式里边我们看到啊,咱们做个分析,首先code代表状态码,我们写个200,然后信息是成功,也就说我们现在这么写之后,咱们前端做个判断,如果状态码是200,那表示成功。date里边是我们的具体数据,包括你再看这个数据,这里边就带了分页,各位看到啊,这一部分是不是有分页的数据,包括你的总记录数,当前页总页数等等,如果说咱做增加、修改、删除,它应该没有这个date数据,所以这里边有一个没有数据的,它就是成功,失败,也就是说咱们添加成功返200,如果你添加失败,那我返回201,用这些做统一结果返回,也就是刚才一直提到的最终目的。让所有接口都。
02:43
返回相同格式数据,那这个时候咱们前端在得到数据在解析就会特别方便,那下面呢,咱们把背景说完之后,下面咱们开始做这个事情,那怎么做说明首先第一个啊,因为统一结果咱后面所有接口都要用到,所以我们现在还是放到common里边,我就在common u里边,咱们建一个统一结果返回类,我在里边做个创建,首先写个包。
03:17
com.at硅谷common,我叫result,然后result里边我们建上一个类,就叫在result里边有一些相关内容,这个内容我就直接复制了,然后给大家详细解释一下这个内容到底是什么意思。我把这个拿过来。在这里边呢,有一些相关的内容,我在这位置,比如说我加上一个注解,就是这个date,用longbook生成它的get和set方法,然后里边定一个定义类型叫T,然后大家看这里边啊,首先三个属性,第一个状态码,第二个信息,第三个就是数据,然后这是它的构造,然后在这过程中,各位注意啊,比如说咱后面当我操作成功,我就调里边的OK方法,当我失败,我调file方法,然后在OK里边我有一个方法叫build。
04:19
Build里边做什么呢?就是设置我们的具体数据,包括里边有它的date,有它的状态码和信息等等,另外这过程中我这位置注意啊,我还有一个枚举类,我在里边也做过,创建枚举类中干什么?就是定义一些基本的状态值,比如说二百二零幺等等,那我这里边也建一个枚举类。啊,当然你也可以不创业,直接把只写固定也可以,我这里边就直接建个枚举类。然后这部分我直接复制一下,大家看里遍啊,就是这么几个部分,首先在里边有几个状态码部分,包括二百二零幺,200成功,201失败,通过里边的扣的取这个值,包括大家看这里边,比如你看这位置啊,咱看这个成功方法就这OK这个方法,找到这个OK里边调个build,然后build里边我们调这个方法是它的值,另外你看啊,OK里边设置它的状态码是不是这个SUCCESS2就200状态码,如果失败,那我设置fair file是不是就是201,所以以上这个统一结果返回类我们就快速创建出来了,然后创建之后呢,咱们最后呢,把controller需要给它改造一下,那怎么改造给各位特别说明。
05:46
首先我强调啊,各位记住一个原则,咱们Jason数据有两种格式,一个是集合,一个是就一个是对象,一个是数组,而对象里边我们就是直接re,那个对象就会转成这个对象,如果你是数组,那我直接吞list集合是不是就转成数组,所以咱现在怎么做,我就是把这一部分统一换成我们的result,这个对象统一用它来进行实现。
06:18
然后在蕊到里边,最后我们做个蕊退,首先刚才提到是不是有一个OK啊,大家看啊,OK方法是静态的,然后在里边我们可以传入你要返回的一个数据,所以在这里边把例子给它传进来,这样的话就可以直接用统一结果返回,就这么来做,包括修改,包括删除都一样,咱现在改这个删除result,然后在里边这位置我做个判断。如果说这个意思success true,那咱就直接return result.ok这里边不需要数据就成功失败,如果是else,那我就return result,点上这个five。
07:06
表示哈失败。然后这行去掉,所以以上咱就把这个统一结果给它改造出来了,这过程给大家再说一遍,然后咱们做一个测试,我这里强调啊,咱们的目的就是让所有接口都反相同结果,那我做法就是在com u里边建一个统一结果类,叫result,里边两个方法,OK代表成功,File代表失败,然后在CTRL里边让所有接口都返回result成功,OK,失败,File在成功里边能设置要返回那个具体数据,比如说你是对象还是集合,直接放到里边进行返回,因为刚才在里边我们通过B的方法已经做这个封装,往里边能设置你的具体值,包括状态嘛,包括描述,包括数据,所以现在统一结果返回咱就完成了,完成之后我把服务器启动,最终我们来做个测试,看一下最后结果怎么样。
08:10
这里边两个接口一个插,所有一个逻辑删除,咱们后面接口也都这么来返回都返回。等它启动啊,咱们试一下啊,来到12个里边。点开查询所有我们先试一下发送大家看啊,结构是不是统一结构200成功data中数据,然后再看逻辑删除,我们随便找一个,比如这个一删除这里边失败,比如再来一个二。是不是就成功,包括你看啊,失败返回201,成功返回是200,所以以上咱就把这部分完成了定义,统一返回结构对象,让所有接口都返回相同格式的数据。
我来说两句