00:00
审核啊。那咱们刚才啊,第一例提交,因为无法用浏览器直接测试,咱现在整个swag把它做个测试,那怎么做给大家说明啊。这位置我先把这个画一下啊,咱就是在我们的项目中整合进一个东西叫swagger。然后来进行咱们的接口的测试啊,里边有个词叫swa,那这swag到底是什么,我这里边有段描述啊,这里写到啊,在我们做这个前后端分离开发的模式中,这里写到说API文档是最好沟通方式,就是咱需要有个文档,而用swaer的好处是什么呢?它能生成一个在线的一个文档,就是你通过一访问,你能看到这文档中,比如你的接口中有哪些参数,包括反生数据,而用swa它还可以做到就是我们这个接口的测试啊,所以它这个好处就是什么呢?写一下啊,第一个。它能生成一个在线的一个接口文档,就是通过它能看到你接口能做什么功能,里边传什参数,包括反应数据,第二个就是方便我们进行这个接口的一个测试啊,主要是这么两个主要的功能,那咱们下面啊,就来用一下这个四画稿,那我说一下怎么用啊,给大家做个描述啊。
01:22
首先第一个大要明确啊,就是我现在swag,就是我可以直接整合到我的Switch e丢中,这么整合是没有错的,但是因为咱们后面呢,因为咱们在里边会有很多的模块,咱模块大概有十几个模块,而每个模块中应该都需要四八个测试,所以咱就不给他专门写到edu中,只要里边没有错,但如果你只写到edu中,那只有edu能用,别的模块用不了,所以怎么做呢?那我们这么来做啊,咱在外边建个公共模块。把swa放到公共模块中,让你这里边所有的模块都能用到公共模块中东西,就好比说我们有很多重复代码,咱可以写个方法,让所有都可以调用,或者写个工具类啊,所以咱现在这么来做,咱建个公共模块,然后整合swa。
02:13
好小的位置啊。我们的做法就是创建一个。公共的这么一个模块,然后来整合这个swa。它是为了我们的所有的模块都能进行使用啊,就给它抽取出来做个公共的,那这公共的怎么做啊,给大家快速演示一下啊,就这过程刚才差不多咱大家看一下啊,比如一会儿我在这个鼓励parent下边,咱们再建个子模块,让它跟S是一个平级的模块,然后在里边比如这模块,比如一会咱叫common。Common里边的电子模块,比如我叫这个叫什么service base里边有来整合我们的swa啊,那我们下面咱就来具体做一下啊,我们来做个创建。
03:01
首先第一个在鼓励current的这个下边,就在工程下边咱建个子模块,而子模块咱用的还是一个微问工程,那我来做个创建子模块,起个名字,名字随便起啊,比如我叫这个common,就一个公共的common,把这个我们先做个创建。啊,这是一个common模块,然后common创建之后,因为它里边要用到一些相关内容,咱在里边把一些依赖给它引入,这依赖我就从我文档中给它就复制过来了,啊,Common中引入这些依赖。把这个啊先拿过来,但是这里边有个我先注掉,因为咱暂时用不到啊,这后面用到的它的依赖,其实主要是这两个依赖,就是swag,你看啊,这是swaggg,这叫swag UI,这是关于swagger的依赖啊,咱主要用到了这个依赖啊,这是一个,然后包括啊,咱可以把它那个类型也改一个home,因为它下面还有那个子模块。
04:01
啊,这是common,然后common创建之后,咱在common下边再建个子模块,比如我叫base,咱把swa都写到这个base里边。那我com里边再创建,但是现在刚才一样,S2C这也可以删掉了啊,这不需要了。咱们这里边不写代码啊。那我下面common里边再来建个子模块,还是一个ma,这子模块按照我课件中的名字啊,我就叫做service_base啊,咱就叫它了啊。把这个我们给它创建出来啊,这个可以了啊,然后创建之后,咱们把这个整合过程都写到service base里边啊,做个整合,整合怎么做很简单啊,它的做法就是呢,咱们在这里边呢建个配置类,然后里边呢写上这么一个方法可以了,这个方法是固定的,不需要各位敲点,因为是固定结构,各位用的时候直接复制能改就可以了。
05:02
啊,那我下面给大家就来写一下啊,咱写一个类就可以了,就写个配置类,那我现在在瑞base里边,比如现在我们先建个包啊,咱就跟我们这个规则差不多的一个规则啊,建个包我还是叫这个com.at硅谷。点上,比如说叫这个service base。啊,就叫它了啊,At硅谷service base,然后创建之后呢,在里边我们建一个配置类,这个类我起个名字,比如叫这个swa。这个config。把这个创建啊,然后因为它是配置类,咱首先加个注解,就咱之前用到的叫configuration,表示它是一个。配置类,因为它是swa,所以咱们还需要加个注解,就是这个注解。大家看啊,叫an able swa,这是swa注解,就表示它做的是swa格的一个整合。
06:02
啊,挖个那个注解,咱需要把这加上啊,然后这个加上之后,在类中我们加上方法,这方法不需要各位敲,咱直接复制改就可以了,然后把它。顺过来啊,咱给他就是改一下啊。我把这依赖先记住啊,主要就是这些相依赖。啊,给它引换进直接弄那自动导包一样的啊,我就习惯手动引入一下啊。我先引入之后,然后再解释这些什么意思啊。先把它都引进来啊。这还有一个他啊。还有一个B。这些都可以了啊,然后这个类什么意思,给大家解释一下啊,首先你要怎么swagger,其实还是配置一个swaer,一个插件,就是这个部分,然后在插件中的里边有这么一些结构啊,首先第一个类型咱肯定是swagger,然后第二个大家看啊这行代码。他叫group name。个RO是不是有组的意思,就表示可以做个分组,这个名字是随便起的,我叫web API或者你叫别的名字都可以啊,然后下面有一个叫API info,咱看啊,这PI info引入的是这个方法,这方法中你看这个单词叫info。
07:17
Info是不是有信息意思啊,它就表示啊,可以设置你那个在线文档中一些信息,比如说里面有这些啊,我随便写一下啊,写一些值。就这些值啊,一会儿它会显示,一会咱会能看到效果啊,然后下面是一些固定结构,大家看这两部分,这两部分其实可以没有,它是什么意思呢?你看里边啊,有一个单词叫not。Not是不是有没有意思啊,它就表示当你的接口路径中如果包含我的in,包含挨着它就不进行显示啊,如果你不写它,那所有都显示出来,这咱们默认给它加上就可以了,就这位置不需要各位改什么,你要改的话,也就是把这组名字你换一个,或者方法名字换一个啊,然后这些提示信息换一下,但是结构是不变的。
08:05
主要啊,这么一个swa的这么一个结构啊,咱们就是把这个直接拿过来就可以了。啊,就这段代码啊,我给大家也是。过来啊。我这里写一下啊,我们的做法就是咱们在那个鼓励下划线。Parent里边创建一个子模块,我们调这个common啊,这是咱们刚才创建的,然后创建之后我们在common里边再创建一个子模块。就是再建一个子模块,然后这个模块我叫service这个base啊,也是咱们刚才创建的,然后创建之后,在这里边我们就创建一个叫配置类,在里边配置SPA的部分啊配置类,然后SSPA部分配置类咱刚才已经写过了,不需要各位挑一点,因为它是固定的啊,我就复制一部分了啊,你从我那个文档中可以找到。
09:00
啊,就是大概这么一个基本的类啊,然后它后面还有一些其他内容啊,我就省略了啊。可以从文档中可以找到,然后这样的话,这个swa在里边我们就加上了啊,就这么来做,但是加上之后呢,大家注意,因为现在这swagger是在咱们的common里边,它并不是在sweet e丢中,那我在sweet e中想要用这个common中,这个东西大该怎么去用呢?啊,那咱们往下来写啊,就是我要具体使用。写到这个位置啊,具体的一个使用,那怎么使用,大家注意啊,首先第一个。我这个叫service base,而我E丢中要用S贝,那咱怎么做呢?需要把这个依赖先引入到E丢中,就是在service u中把这个base引入进来啊,但是咱们为了方便,我就给它统一放到我们的service中,引入你这个依赖。啊,那我引入一下啊,就写到这个dependence里边。
10:02
再往下写,加一个叫dependence,然后它的名字就这个叫service base,把这个加入来可以了啊,但是如果说没有提示,你把这个直接给他复制都一样啊,就是这是它那个名字啊,不是这就是这个S里边啊有它那个名字,包括它的版本号,把这个需要引入啊,这是我们需要做的第一件事情。啊,这必须要这么来做啊,想这个位置在我们那个。SERVICE1丢,里边引入service base的这么一个依赖啊,只有你引入之后才能用到里边的那么一个内容,然后它的引入就是在那个po里边加上这么一段话啊,主要把依赖给它先引进来。就这个啊,然后引入之后啊,注意啊,这么做并没有完,咱们还需要加个地方,加什么地方呢,大家看啊。这里边我先说他这个思想啊,然后咱再说怎么去加加简单,你注意我这swa conig。
11:06
是不是一个配置类啊,配置类什么意思呢?就是你项目启动的时候,配置类是不是要加载呀,但是目前呢,这配置类不在我的service e中,如果在里边可以加载,但是目前应该加载不到,那怎么加载到呢?咱还需要加个地方啊,我这里特别说一下啊,应该各位之前应该也提过,或者说你可能不记得啊,咱在启动类里边啊,加上一个注解。我先写,然后我解释啊,这注解这个名字叫conven sc。Comment是不是有组件意思,此看是不是要扫描啊,比如说你的包扫描规则,但需要设置,因为boot它默认规则是不是从外往里扫,就扫里边这些东西,但是现在我除了扫这些之外,还要去扫描到你这个类,那怎么做呢?在里边加上你那个类所爱的包的名字。啊,那我们加上一个名字叫贝斯pack,里边是一个数组,然后等于。
12:06
里边加你那个包的名字,我们叫com,点这个叫at硅谷,把这加上可以了,因为大家看啊,这个类所的包前面是抗硅谷,这个包是不是也叫抗硅谷,当你这么写的话,它就会找这个包的规则,把这里边的内容进行扫描啊,它会这么来做的,所以咱们需要加上这个注解,如果你不加的话,那这个配置类它不会加载到。啊,这是必须要这么做的啊,这是一个特点啊。我把这个写这个位置啊,就咱们最后。就是最后。还需要做件事情,在我们那个service edu。它那个启动类上面要添加一个注解设置,它那个包的一个扫描的一个规则,就是加上咱刚才看到的。这个东西叫comment看啊,这个咱需要加上,所以说按照这些步骤,我们这个才能整合进去啊,这过程稍微多一点啊,但是咱实际中肯定都是这么来做,我再重复一点啊,然后最后咱再测试。
13:13
过程怎么做到的?第一步咱们在这里边建一个子模块叫common common里边呢引入了依赖,这依赖各位直接复制就可以了,然后引入之后在。com里边又建了子模块叫service base,然后在service base里边我们又写了一个配置类,主要是配置了wa部分,这一部分中与它是配置类,加上注解,这结构是固定的,各位复制改就可以了。然后这些都加完之后,因为咱们这个swa需要在SWI1究中用,怎么用呢?它的做法就是你在wi里边先把这个依赖先引入啊,刚才我们已经引入了啊,是在这位置啊,引入了这个所贝的依赖,你为要用到里面内容,然后引用之后,咱需要把这个启动类上边的扫描规则需要改一下,改成这个,为什么改它呢?如果你不改的话,那这个情类只能扫描你当前项中的类别的那个启类扫描不到,那我现在因为我这个swa也是一个配置类,我们想实现在项目启动的时候,这个也能扫描到,但是默认他肯定扫不到,因为是不同项目,那咱怎么让他扫到?做法就是第一个依赖已经引入了,然后有之后你把它的扫的规则改一下,直接写上你的包,然后他怎么做到这个包里边找到你的内容进行扫描。
14:37
这是改变它的规则,如果你不写的话,默认它只扫当前项目里边那种,改完之后只要你是这个包里边那种,他都会给你扫到。啊,这个是咱们要做到的,所以咱们按照这些步骤,咱才能把这个swa整进去啊。主要就是这么一个过程。这个啊,我们就最终把它整了一下啊,然后这个呃,大概调整一下啊。
15:02
就是里边这是它那个。第一步。啊,第一步我们做这个事情。然后这个做完之后第二步啊,我们就是在这个里边,里边引入它这个依赖啊,这是它的第二步。然后这步做到之后,还有最后一步,咱们在里边就是改变那个包的一个扫描规则,加上我们说那个com的,看这么一个注解啊,这是它的等第三步,所以说按照这三步swa就能整进去。啊,这么一个过程啊,往这里写一下,它叫swagger。整合的准备过程啊,那咱们就做到了啊,然后这些呢,都做到之后,最后咱们把这项目我们给它最终就启动起来,咱们来最后测试一下,看一下最后的结果啊。那我来测试啊,把项目我们先启动。因为现在改变了规则啊,所以这个swa的配置类应该它也能扫描到啊,但是前提条件就是啊,你这包比较写的一样,你看我这包都叫com.at硅谷啊,后面可以不一样,但是前面规则都是一样的啊,它就能找到里面那种。
16:16
我们给他烟启动啊。我们等它停起来。现在啊,已经可以了,8001,然后启动之后,我们最后肯定要访问这个swa。我小的位置啊,就是要访问swa。那怎么访问呢?我强调啊,这里边有一个固定的地址进行访问,这地址只要swa格都是固定的,那我给大家写一下啊,首先啊,前面肯定是local house801,这没有错,就IP端口号,然后后面加上这么一个单词叫做swagger。杠Uy.HTML,然后咱一回车。大家看就会出现这个界面,当你看到有这个界面,那就表示swag成成功了,然后它的地址是固定的,就咱刚才看到这个地址。
17:07
叫做。Swaggg-Uy.HTML前面加上你这个项目的IP端口号,后面加上叫swag-UY啊,这单词别写错啊,也不能加上别的多余的东西,就是这个固定地址,然后咱看到的就这个界面,在这界面中有八哥里边的相关的接口啊,就是它是一个。相关这个生成的在线文档啊,这就看到了,然后这个怎么看,咱仔细看啊,首先咱们从上往下看第一部分。打开这个位置。这个是不是叫web API,然后这是什么呢?你注意啊,刚才我说过这个名字咱是不是能改呀,我这个叫web API,这里是不是叫API,假如你这个位置,假如我这个叫teacher,那我在SPA里边这也叫teacher啊,这是一个组的一个名字,然后除了他之外,大家看这部分。这一部分是什么呢?就是咱们写的是不是就这个信息啊,他把这个代理显示就是你这个swa相关的info信息啊。
18:08
在里边有了显示,然后除了它之外这一部分就是咱那个距那个CTRL这个部分,你把它点开。咱看一下啊,大家仔细看这部分。我们会发现啊,在这里边是不是有两个部分,一个叫gett,一个叫底delete的,就是一个是gett底胶,一个底子提交,然后get底体交,是咱刚才说那个查所有讲时底例的体交,就是我们做那个删除讲时的两个接口里边都列出来了啊,这是我们看到的这么一个界面,最终这么一个结果。然后在这个界面中,我们要测试怎么来测试与所有都能测试,那比如说我们先看这个查所有就get提交,你把这个点开,点开之后呢,里边有些信息,比如说什么。事例啊等等,然后怎么测呢,然后往下看啊,在这个每个里边的最下边都有这么一个东西。
19:01
要try it out,比如我现在点try it out那一点。大家看这位置response body是反数据,这就是它反数据,现在他用一个形式给我们在这个页面中直接显示出来了,所以它测试方式就是我再说一遍啊。给咱重新演示啊,就是第一次我进入到这个界面。然后界面中呢,会列出当前可以测试的CTRL,因为咱只有一个,多个都可以列出来,你把CTRL点开找到你不用方法,比如说咱找第一个方法怎么测试,直接点这个try it out就能看到你最终返回结果就可以了啊,当然它有参数,咱一会儿测有参数的,这是不需要参数,直接点try out结果就出来了。啊,这是一个啊,然后除了它之外,咱们测一下我们刚才那个逻辑删除功能,因为这个功能我们刚才已经写过了啊,就是这个啊,那怎么测同样的咱把这个点开。
20:00
大家看里边啊,这里边刚才有点区别,它多了一个地方。这个地方。拍字。是不是参数,就是你需要传一个参数,那比如我现在啊,我在里边咱就传个参数。大家看一下啊,比如都给它改成零啊,先改一下啊,改成零,那比如现在我这个位置传个参数,假如我现在啊,就传这个ID是二的,这个二的参数,我想把它做删除,那怎么做,注意啊,做法就是在这里边,你看这个位置有一个单词。所以应该能看到啊,叫require,表示你必须要传个参数,比如说我现在写个二,这叫表示传个参数,然后写完之后,最后还是点这个try out。然后咱看结果,大家看啊,返回值什么。是不是错误200成功了啊,它就告诉我们成功了,然后这里边是参数,然后成功之后咱们看表中的变化,我刷新。数据肯定还有,因为逻辑删除,但是你看。
21:02
这值是变成了1O,表示咱们已经把它成功删掉了啊,这个叫逻辑删除啊,所以咱们啊,现在用swag做了一个测试啊,这就是swa一个低温使用。啊,我再快速重复一遍啊,第一个你按照我这个过程把swag整合到项目中去啊,咱就建立一个common做整合,然后整合之后把项目启动,咱用IP端口号加上后面一个固定值叫swa-Uy.HTML啊注意别写错杠UYHTML,然后反问之后里边有些信息,而下面会列出你当前的CTRL和里边的方法,每个方法中如果没有参数这些点配out。如果说你有参数,那咱就传入相关的参数,再点trade out,它就可以完成测试啊,这就swa这么一种使用的方式,咱在后面的接口中肯定都是在用swagger来完成我们这个测试。所以大家把这一定要整合上去啊,咱后面用这个就是咱洗完接口之后,用S测试没有问题,再写下一个接口,写完之后测试没有问题,再写下一个接口,这个啊就是一个详细的整合啊,我们就是这么来做啊。
22:14
那这个我们就说完了啊,然后说完之后呢,在此八中啊,还有几个细节给大家也提一下啊,什么细节呢?我强调啊,其实就是用一些注解,让你的接口看起来更加清晰。什么叫清晰呢?比如说啊,你看啊,我现在的接口是不是叫这个名字,包我这个叫什么find o teacher,那它到底做什么的,咱肯定不知道,或者这个参数什么意思,里面有没有,那我现在可以让这些数据啊,有一些中文上的提示啊,但是这些数据提示跟功能无关,只是让它测试更加方便,我给大家也来演示一下啊,再来给他加几个注解啊,我就直接复制了啊,也就是这么几个注解。第一个,比如说我在CTRL上边加个注解,叫这个API。
23:01
然后这个注解什么意思,它就表示一会咱在测试这个就显示,就是你设这个中文的提示啊,比如说我们叫角值管理。然后除了它之外,咱还有加注解,在方法上加注解,比如说我加一个啊,咱就随便试一个啊,比如加这个。我加到上边啊,比如这个叫做。所有讲师列表,一会儿咱们再测试,这个方法会显示所有讲师列表啊,比如说最后一个咱也加上。这个我就叫呃,逻辑删除讲师。啊,逻辑删除讲师一会儿会有一个提示,另外你的参数也可以加注解,就是它会有一个提示,因为刚才参数提示的只是叫ID啊,但是咱可以描述,比如它是什么。课程ID什么讲师ID啊,有个提示,那提示咱用的是这个主机叫A片P,我把这个啊就直接复制的啊,咱给它加到这边来。就是它啊API里边啊,加上你的名字值,或者它是否必须要有require,必须,就是它是否是必填的处,就是必填啊,所以咱们加了这么三个注解,一个API,一个叫API operation啊,一个叫做API camera,就是对你的接口中这些。
24:19
方法有一个友好性的提示,换句话说就让它有中文提示,咱通过中文肯定是更好,能看到它里边到底是什么功能。啊,那这个啊,我们来看一下这个效果啊,但是这个你不加对功能没有什么影响啊,它只是让咱们看起来更加的方便,就更加的简洁。啊,那我们来重新测试啊。比如我们刷新。然后大家注意看啊,现在提示就有了,你注意啊。这是不是叫讲师管理,这个叫所有讲值列表,这是不是叫逻辑删除讲师,是不是就是咱们刚才加的中文提示,另外咱们看在删除里边这个ID中。
25:02
是不是叫讲师ID啊,都是我刚才加的中文提示啊,所以这个可以让这个接口更加的完美啊,包括这是一个在线的一个API文档接口文档,咱们是不管是后端前端看到它都能进入我们的相关开发。啊,所以这是关于swa部分,就是swa最终重复一下啊,它的主要作用是什么?第一个生成一个在线的接口文档,就这一个文档,然后在它里边可以方便咱们接口测试,不管你是get post delete都可以测试啊,这是一个方为地方,然后它整合其实并不复杂,主要是写个配置内,然后咱们加上这个配置就可以了啊,然后包括啊我们在一起的过程中,因为咱是放了一个新的模块中,所以这些。细节地方各位不要忘记啊。最后他一访问,用个固定地址进行访问就可以了。这是关于啊swa的整合。
我来说两句