00:00
接下来呢,要为咱们所写的这个年级管理呢,生成它的一些接口文档啊,同时呢,可以方便我们测试来,我们现在请求一下这个swagger啊swagger这个ui.h点面一请求咱们这个里面其实呢,没有发现对咱们的项目呢有任何的这个介绍,为啥没有介绍呢?原因在这呢?呃,先看一下,看一下这个项目里边啊外二这个con呢,它确实已经生效了,但是它生效之后呢,咱们注意一个点啊,它是一个什么情况呢?它其实是扫描咱们这个项目之中,哪里面有这个API option这个注解啊,如果哪里有这个API option注这个注解,那么它就会对这个接口啊生成一些接口文档来进行测试了,这是他扫描那种方式哈,嗯,除了这种扫描方式,还可以用啥呢?还可以这么写嘞。嗯,看这个D啊,还可以换种写法,这种写法呢,叫做request handleless selects,这块给它删掉啊,换一种写法叫做什么呢?嗯,叫做with with,这个叫做嗯,诶,Class sectors点哎,Base package,这个base package是啥意思呢?就是扫一个基础包,哎扫哪个包,哪个包下面有这个swagger相关的一些注解,那么哎,就可以给我们生成相关的API帮呃,这个这个帮助文档了,或者接口帮助文档了。扫哪个包呢?一般咱们前这个后端跟前端交互的这个接口文档都是controller层的一些接口文档,而其他层呢,其实都是为了这个control controller层来进行服务的,后端的像一些数据模型啊,还有这个什么D啊,还有什么service啊,其实呢,前端工程师看没看到倒也无所谓,这个swa主要是前后端呢,它交互的时候呢,有一套共同的,大伙都认得一套文档,大伙都能看得懂的,也方便测试的一个文档。
01:37
所以呢,在这我们只要他扫这个controltr就可以了,那这块该怎么写呢?This package,来看一看啊,一个字符串,Come come.at硅谷点MY智慧校园。行圆啊,下面的什么,下面的这个叫做点CT,哎,CTRL这么这么扫就可以了啊,当然如果说你这个不改也行,不改的话呢,你在CTRL里面直接加这个API option它也是能够识别的,嗯,它会扫整个项目,整个项目里边哪些有这个API option这个扫法就是只要只扫这个controlrler,然后这里边呢,所有跟swaer相关的A这个注解都会被识别,然后继而帮助我们生成一个呃文档啊,那回到这个great controlller这块,那我们需要在格controlrl里面都要加哪些注解呢?第一个注解可以加这来一个叫做艾API,加上这个艾PI之后呢,它是给我们整个的什么呢?整个这个TRL做一个简单的一个介绍,这CTRL是干嘛的呀?T啊,给这个T属性赋个值,这是一个什么呢?这是一个年级控制器,年级控制器啊好,那只是说明这个类它是一个年级控制器,这个年级控制器里面有哪些方法呀,哪些方法需要生成API帮助文档呢?那好就在哪个方法上加上这个主题叫做at API什么呢?API option API option就是往方法上放的啊,这个方法是干嘛的来?
02:52
那个简介,诶这是什么呢?这个就是呃删除呃删除grade啊grade啊信息啊这样的一个方法啊,那么删除信息的时候呢,这块有个参数,那这个参数是干嘛的呢?是啥含义的呀?可不可以加上一个注解来给咱们介绍一下呀,可以没问题,但是在参数这块呢,将它注解叫做at。
03:15
A at API per,这是用来介绍参数的API per啊,后面也写上一点介绍信息呗,这个介绍信息是干嘛的,这个是要删除的,所有的什么呀,所有的这个呃,这个grade grade啊。Grade的什么呢的ID。ID哎集合ID啊的集合啊,然后呢,是一个什么集合呢?ID的Jason集合,哎用Jason串表示一个集合嘛,所以呢,这块呢可以写上一下,然后后端呢,它是一个映射成什么类似什么ids啊,你可以写一下,这样后端公值也能看懂,如果你不想写的话呢,也没关系,这个可以帮助前头看也行啊,因为咱们后端不也懂,也知道杰son是个什么玩意儿嘛,对不对,好这块呢给这个方法加上了,那这些玩意要不要加呢?这些反正也可以加一下啊,例如这个来一个艾特API,呃艾API API option啊,这是at API option这个是干嘛的呢?这是进行,呃,这叫呃保存,这是新增或什么呢?或者叫做呃修改grid。
04:22
哎,修改grade啊好,这是这个方法的作用,那这个参数,这个参数是啥作用呢?来一个叫做at API per,诶加它a per啊per加上他里面再来个简单的介绍吧,介绍啥呢?这是嗯,Jason great great,诶的这个杰森格式的的对象的GRA格的对象,哎,那如果嗯如果要是有ID属性啊。嗯嗯,这个有啊,这个ID属性有IDID啊ID属性啊则呃是修改是修改,哎没有哎则是增加,哎其实这个呢,不应该写这不应该写这他只是单纯介绍一下这个great对象他是怎么回事,他这个业务逻辑判断应该写的写人比较合适。
05:17
那其这比较合适啊,所以这个呢,嗯,这看着会好一点,只是介绍下这个great它是个什么玩意是吧,有ID属性是改,没有ID属性呢,哎,就是增加啊下面这个是什么?这块再来一个吧,来一个艾特APIAPI这个option啊,当然这个这些介绍其实是人为可以写的,你想做它怎么一个,给他做一个怎么介绍,那就介绍就可以了啊,这个是查询,所有的查带条件带分页上怎么说呢,查询。根据根据年级名称名称啊那么模糊。呃,模糊啊,分页,嗯,跟据那成模糊查模糊查询啊,还是这么写吧,这个话中文还是有点,呃,还是难度的哈,模糊查询带分页很好了,第一个是啥呢?第一个给他介绍一下这个参数叫做at特API API per API啊来看看一个per啊,介绍一下这个参数,这个参数干嘛的?哎,这个参数的含义叫做分页。
06:23
分页查询的页码数啊,下面这个配置size是干嘛的呢?来CTRLC拿过来啊,这个来个空格也行。这个是分页查询的页大小,诶后面这个是啥呢?这是呃分页查询的呃这个呃模糊呃这个模糊查询的这个名称上分页查询呃模糊匹配匹配诶的什么匹配啊,匹配的这个名称简的名称,OK哎,那这个咱们就哎写上了啊,写上之后呢,只要把这个一写啊swaer这个API帮助文档就自动给我们生成了,就是加了一堆注解而已啊然后呢,这个swaer的配置这块呢,就直接按照这个配置好的模型啊就套用就OK了,呃也像某些什么也user他的ID啊,或者什么临时用户ID啊,这些你可以改成自己的是吧?呃,其他的呢,像这个什么艾特硅谷啊,硅谷的URL啊,Email啊,这个你需要的话呢,也可以改成自己的啊,这些自己改就OK了啊好,唯独就是只改了一个这个base package,咱们改成这个了,其实你上面这个不改它呢也是可以的,只不过扫的是这个at option这个主件。
07:33
现在是CTRL层嘛,是吧,好重启一下。重启完毕之后呢,嗯,咱们在9001这个项目啊,是咱们自己现在开发这个项目上,然后再来继续进行一个回车,看一看会发生什么事情。哎,怎么回事,看这诶,他就多了一个年级控制器啊,年级控制器同时呢,还多了一个system ctrl了,怎么多了一个他呢,因为咱们扫的是包嘛,这个system ctrl也在这个包里面,只不过它下面呢,也有这样的一些方法,这个方法好像是呃,提示太少了啊,提示太少啊。
08:05
诶。怎么还是有提示的,没关系啊,咱这个应该是先看这个吧,先看年级控制器啊,首先有一个嗯,Great controller来点它看一看,这是一个delete请求,嗯,这个请求的数据格式长什么样,长这样,你请求的时候呢,那这响应的数据格式会这样啊,请求的参数啥呢?哎。嗯,这是德瑞的。UID和user temp ID,诶。哦哎,嗨,这个UID和use坦白这两个玩意是谁呢?这个这两个数据啊,这两个数据来自于这里,来来看一下是来自于咱们在这块在这的配置。那用户ID和呃,这个这两个玩意啊,是这些东西。看到了吧,哎,所以这如果你想改的话呢,也可以改啊,这是use ID和use temp的ID啊玩意是以这个header请求头的方式来进行提交的类型string,这不重要,这不重要,这是多了两个请示头嘛,是吧?然后ids这块呢,你该怎么上呢?这是一个RA啊,看不看见一个,然后这个是一个请求体的方式,然后这块是所有删除的所有grade ids j次集合,那这块可以放这个东西啊,形成一个什么,形成一个一,哎逗号二,就是相当于把这个一号二号的删除了,这个数参数准备好了,请求一下看好不好,谁来try out来一点走。
09:16
啊测试了,测试完之后看看结果,哎成功了,那他一成功之后就糟了,是不是少了两个呀,是吧,来看一看这啊走看一看这个年级管理这块,哎,你看确实就剩一个三年级了,那怎么办怎么办是吧,那咱们只能再把这个啊,再把这个那个年级呢,咱们自己再增加回来啊,这个增加回来这个操作我一会儿自己回去自己操作吧,大家这个不要轻易去尝试啊,但是经过这样一个测试,你会发现在这个swaer这个接口这块啊,Swaer这个接口这个文档这块,呃,确实可以帮助我们进行哎测试的。啊,进行测试的,但是有些测试会比较方便,但有些测试呢,可能就不太方便啊,你像这个get WiFi code的这个玩意,这个玩意咋测来try out它一测,测完之后你看给我们返回什么玩意,这是一个图片的100数据啊,这个玩意它并没有直接把这个图片的一零数据给我们成功的展示出来,所以这个就有点毛病,还有什么东西不是很方便测呢?咱这个叫做get info啊,这个玩意也不是很方便测,因为你要给他提交个什么玩意儿,要给他提交一个token,咱想提交个token,这个token长啥样啊是吧?啊,那你这个token长啥样,咱们可以找一个token试一下吧,啊来看一看这个请求中有没有token。
10:19
哎哎,有有这个,哎这有个token,咱把这个token它复制一下是吧,用它一下也行,但是你这个你得先有个token,你这个是先成功之后才能有这个token是吧,你这这个玩意测起来其实还挺麻烦的,哎头根哪去了,哎头根在这呢啊来选中它。挺长的一串,来给它CTRLC复制一下,诶,没复制上吗?重新重重复制啊,找个来诶。哎,这么好像原始的情况复制不上去,这么复制吧,To本ton在这呢,来嘿。诶,CTRLC复制一下啊,回到这来,咱用这个头盘测一下来,CTRLB往这一粘,粘过来了啊粘之后来1.tryoutok成功了,呃,用户类型是一,然后userr这个信息也都都拿到了,OK,哎,这就测试成功了,这个是这个是包扫的,呃包扫描的形式给我们扫的,但是你看这个这个CTRL里面它这个东西,这个openn这是什么,怎么没给咱们解释一下呢?呃,这些参数是啥也没有解释是吧?哎,这个是get get info这个方法,然后呢,Get WiFi code这里面呢,也没什么参数,也没给咱们解释,也没解释一下这个方法后面是干啥的,跟上面这个不太一样,你看啊。
11:26
咱们上面这个方法后面这些信息全是自己定义的,你看这些方法后面的这些信息全是用直接用的是方法名啊,那为什么会这样呢?就是因为咱们在system controller这个里面的,咱们没有放那些什么API啊,API option啊,还有API per那些注解,没有放那些注解,它就没有一些介绍,但是仍然扫描这个包,这个包里面一些方法人识别到了,嗯,也可以,也是可以帮助我们测的,你看这个log in是吧,Log这里面有个有参数,有参数他要来一个log form,这个log form长啥样啊,他给你个模型来一点它,你看log form模型就长这个样子,你可以改改数据是吧?来呃,Log form这是一个,嗯,什么呢?Pass座了,来一个123456B123456来一个ad adin,嗯。
12:06
啊,用户类型,用户类型改成改成E啊user nameme a WiFi code的,这就没法测了,为啥没法测了呢?你得需要那个验证码,图片上那个验图片上那个那个验证码,那图片的验证码你咋获取,说我获取了在这呢,说你这个玩意长啥样,你能看明白吗?是吧,所以这个就不是很好测啊,那也不是很好测,有些能测出来,像有些乱七八糟的,可能测起来还是有些难度,但是无论怎么着,嗯,有了这个,嗯,有了这个。Swaer给咱们生成这些,呃,API文档之后呢,前端工程师在测测一些东西的时候呢,还是比较方便的,哎,除非有一些比较特殊的,他会联系咱们说没办法了,咱一块测一测吧,写完了之后呢,用其他方式来测一测也是OK的,但是至少前端工程师在看到这些代码之后,再看到这些内容之后,他就知道他该给你发什么信息,然后呢,他给你想的结果是什么呢?他就该知道这个结果拿到之后,他后边怎么写代码了,哎,对吧?哎,这是前后端交互啊,非常前后端工程师在进行业务对接的时候,非常非常好的一个工具,哎,好,那这个swagger的一个演示哈,就搞定了,后面呢,咱们这块也有,每写一个controller,我都把这个controller对应的这个截图都给你截好了,截好之后呢,怎么用是吧,哎,就都给你展示上了是吧。
13:15
好了啊,那咱们后面每开发一个controltrl的时候呢,都把这个相对应的呃,Swagger的这个API啊,这不是API,它对应的一些呃注解给它搞定放上去,那这些东西就已经,嗯写好了啊,这个swa格就已经好用了,很舒服啊。
我来说两句