00:00
接下来继续完成。登录啊退出。以及。其他的这个刷新套件的一些功能啊。写登录啊,我们再去创建一个啊登录的控制器,Make controller。Also,下面的。Slogan。看了。这里就多了一个login ctrl,然后在这里面写我们登录的一个方法。接着找到路由文件。啊,找到刘文健。写登录的一个路由啊,登录登录呢。
01:04
啊,直接复制这个改一改啊,同样也是使用post,我们请求啊login,但是请求了这个类我们改成login CT了。啊,里面的login方法,接下来我们去这个控制器里面去创建一个login方法。Public function。啊。Log方法啊,在这里面写我们的登录,登录我们就是拿到用户输入的用户名和密码进行登录就可以了啊,为了节省时间。就是关于登录。还有这个。啊退出以及啊刷新to这块啊,我直接拿这个我们。这个微信里面的这个代码啊。啊,这个地址。
02:00
这个就不用了,我们这个中间件的这个认证的话。啊。就是把这个,因为它有些比如说我们退出登录,肯定要先登录才行,是不是我们把它放到中间键里面就可以了。直接复制这些方法。来,在这。改一下。首先啊,这个一个来改我们的登录啊。接下来啊,它是从request里面去用的辅助函数去获取了输入的邮箱啊和密码,并且把它们就是生成一个数组,传入这个also,然后选择API这个看守器去进行这个认证啊,如果认证成功之后呢,它会返回talking知道吗?因为我们的API的这个看守器在APP里面早就已经呃修改过了这个。啊,在这里面早就修改过了他的这个驱动是吧,所以当我们认证成功之后,他会给我们返回talking。
03:02
知道吧,好,当我们认证失败的时候呢,我们可以抛出一个异常啊。因为我们这里让它继承我们的base controller就可以使用响应生成器。Controller。那这时候我们就可以不用这么去抛异常,怎么去抛呢?啊,直接使用this里面的。Response。啊,有一个。这样的一个error啊。这个就是未认证通过的一个异常,你直接这抛也行啊。这些代码都不用改,然后是这里我们得到这个talkingn之后呢,并不是直接把这个talking给返回了,而是把这个talking进行呃格式化以后去返回,就是返回我们需要这个格式,这个格式呢是通过内部的这个方法。就是还是这个函数里面的内部的这个方法。去进行格式化的啊。好在哪呢?在下面啊。拦住他。
04:02
把这个注释写下啊,格式化返回啊。格式化。返回格式啊,格式化返回啊,把我们talking放到这里,然后我们的类型,包括我们的过期时间,通过这个进行一个格式化的一个返回。当然它用的是这个response的这个监测方法,如果我们不使用它,对吧,还是不是还可以使用这个你的响应生成器的一个R方法是不是。啊,直接。Response array是吧,还可以使用我们。这个响应看守器由丁PI提供的响应看守器的方法去返回我们的一个数组啊。这样我们登录就完成了,好,我们来试一下。登录我们的路由看一看啊,路由是啊login。在这里进行测试。post方式请求API下面的。
05:05
要加一个also,我们还有also前缀,然后log。未认证通过是吧,我们账号和密码都不对是不是。这个就。看一下啊,账号密码都不对是不是。好。这时候我们把我们的账号密码进行提交一下,一般我们这种POS条,我把参数放到这个保底题里面啊。提交上我们的email。A点就提交A吧,我们有这么一个用户啊,或者提交我们之前注册的这个好看我们注册C注册C是不是。登录这个C。密码。Pass。输入我们的密码。
06:01
啊,邮箱啊,这里打错了。C。a.com是吗?对c.com吗?是不是认证成功把talking反馈给我们了啊,Talking的类型之后,我们再请求其他需要认证的一些接口,带上这个talking就可以了。好,这个就是登录。但是有一点啊。啊,你看有一点啊。我们现在就是假如一个参数都不传,他也会去进行一个认证,是不是。所以我们要对它的这个传的这个参数啊进行一些限制,也写一个表单验证。来创建一个表单验证去对我们的。啊,这个输入的参数做一个限制啊。Request里面啊,我们还见到这个里面。
07:03
PP make request so。给request。打错了。啊,创建成功啊之后啊,这里面写我们的验证规则啊,这个我们就不要了,我们每创建一个表验证的话,这个就不要了,然后继成我们的base request就可以了啊。好,接下来我们的规则,规则直接复制啊,注册的就行。啊,直接注册就行。啊,扶着是水层。这个昵称不验证,只验证密码,必填邮箱啊。
08:00
并且啊,这个就不填了啊,这个唯一性就不验证了,然后是密码必填,就是说最小六位,最大12位,这个确认密码我们也不要了啊,这样就可以了。接下来在。登录里面去使用上啊,这个登录的这个验证。登录的request啊,都是request。啊,这下面的话你想改改不想改也可以啊,啊这熊它也行。是吧?这样的话,如果我们一个参数都不提交,它就会给我们返回一个,呃,422的验证,就是不能为空的一个验证。这样登录就比较完善了,接下来去写一下什么呢?写一下退出登录啊。因为我们这个GW这个talkingn它是无状态的,所以退出登录啊,并不是说就是把这个talking销毁了,而是把它加入到了一个黑名单,知道吧,之前。呃,在讲这个几W的时候,也给大家说过这个黑名单的一个策略是不是。
09:00
那既然退出登录的话。你要退出登录,你退出登录是不是要放到这个已经登录这个录里面是不是。你只有登录才能退出啊,所以我们放到这个登录的这个认证里面啊,定义我们的API。还是POS的方式啊,请求。Look out。啊方法啊,给个数组使用。Logan controller里面的。Look out方法,也就是我们这个login control里面的log out方法。这个密我们就不要,获取个人信息的就不要了。好。退出啊这里。退出登录啊。看一下。啊,退出登录呢,其实比较简单,其实还是直接调用我们的这个also的辅助函数,然后传上这个API的一个看守器,直接进行它的log out就可以了,和我们之前使用web的时候,我们我们如果使用这个web的路由也是可以去传入这个啊看守器使用这个方法,因为我们的配置文件里面去配置了啊这个。
10:15
API的一个使用的这个GWT,嗯,所以他就会帮我们把这个投给我们加入到一个。怎么呢,兄弟们?那这个我们先不退出啊,先做什么呢。先现在我们已经登录成功了,然后把这个给这个勾上,能登录成功,是不是登录成功之后会返回我们talking,我们现在拿着talkingn去请求一个需要登录的一个接口可以吧。嗯,就。请求他吧,啊,但是我们先不执行退出啊,先干什么,先一个测试的一个数据啊,看能不能拿到数据。啊,先给他一个测试的数据。接下来在这里。啊,POS的方式。
11:00
啊,这里啊,Post的方式去请求also里面的。Look out。那这些参数都不用传。来提交。是不是?401,他说我们没有认证的这个头部,对吧,那这时候怎么办呢?我们找到这个头啊,海胆在里面去加上这么一个头部。加上这个头之后呢,啊,去找到。啊,这个我们登录之后返回我们talking啊,要先加上这个类型啊,Talking这个类型。接着空格把to给粘上。就可以就可以有权限去请求那些需要登录的接口了。来发送。是不是可以得到我们的这个数据了,对吧?好,这是一种方式啊,也是比较标准的一个方式啊,就是把这个里面加上一个图信息啊,但是我们一般习惯这里写大写是一样的啊。我们在正常的请求这个API的时候也是。啊,比如我们用其他一些请求工具二贾X啊,或者其他的这些请求工具来请求我们的P,也是把这个认证的这个附加的头部就可以了,但是我们使用posman去测试的话,还有个更简便的方式,这里先把它取消掉啊。
12:13
有什么简便的方式呢?是可以直接在这里啊,去点这个认证,认证的时候呢,我们去选择我们认证的一个类型,比如说我们选择的是我们用的是。嗯。GWT是不是找找。啊,就是这个啊,我用的是这个be talking啊。好,然后把我们的talking的值放到这里就可以了,不用去写那个头部,其实本就是和它是一样的啊。来,接着去复制一下我们的talking,看一下。哎,放到这里。发送结果是不是一样的啊,这里你看这个海带我把它给取消了吧,是不是。然后。这里,然后我选择了这个。啊,在认证这里选择了我们的这个be talking,然后把talking放,这是一样的啊。
13:01
啊,这两种方式,你看你喜欢用哪种都可以啊。看哪种方便一些。这个时候啊,我们就执行这个退出。好,执行退出。退出之后啊,啊退出呢,我其实应该就是给他一个无状态的一个响应就可以了啊,有错误的时候就会抛出异常,没有错误我直接给他一个啊这个没有没有内容的一个响应就可以啊。好,下面我们来执行退出。这个带着talking呢,你请求这个接口,我们需要带着talking退出。好,返回了一个204这个一个一个状态码,说明我们退出成功了是吧,这时候。啊,我们如果再去使用这个talking,因为这个talking我们已经执行过退出操作了,是不是他给我们把talking已经放入了黑名单,我们如果再使用这个talking去。请求这个需要登录的接口的话,你会看到它会给我们返回什么。
14:00
是不是告诉他这个talking已经被加入黑名单是不是?啊,这个就已经。就说明我这个talking已经失效了,就已经完成退出操作了啊,用户你再使用这个talking也没有优意义了啊,这样我们的退出功能就完成了。清楚吧,退出登录好。接下来我们来看一看这个啊,刷新talking啊。会有刷新talking这个说法呢,是因为大家看一下我们在登录的时候。看是不给返回操性有效期对吧,那假如他到时间失效了怎么办。对不对,所以说我们需要刷新talking,当然这个啊,这个。来验证这个时间的,比如说我们在离这个talking快到期的前十分钟去刷新talking是吧,这个一般我们放在啊前端去处理就可以啊,他们去判断这个啊,如果说感觉到这个talking要失效了,就可以去请求我们这个刷新talking的接口,重新去获取talking,明白吧?所以我们后端要提供一个刷新talking的一个接口啊,刷新to也比较简单,直接使用also这个辅助函数,然后传入这个。
15:04
API的这个看守器,使用这个refresh就可以了啊。这里都是使用的辅助函数啊,当然你也可以使用像类似于这种凹的这个门面啊。都是可以的,但是你要使用这个奥的门面的话呢。你就要啊手动啊,去写个这个看手机的这个方法,去选择这个看手机后面再执行我们相应的一些方法啊,所以还使用辅助函数。去简单一些啊好,刷新talking比较简单,就是直接使用。Also,辅助函数传入我们的API,看手机接着去调它的这个刷新的一个方法就可以了啊。接着把它的这个结果,这个结果呢,它结果会返回一个talking,把这个结果传入到我们这个格式化的这个。方法里面,你看格式化的这个方法里面是不是给我们进行一个格式化的一个输出,对吧。好。来。我们来进行测试啊。刷新talking啊,你既然你要刷新talking,你肯定也得需要登录才行,所以我们刷新talking也是放到这个,需要登录到这个里面啊。
16:07
这个注释写一写,这是退出登录,那接下来把这个刷新套也写上。刷新talking啊,好。方法不一样,方法是refresh。Refreshing。来,接下来我们测试一下这个刷新套位啊。首先我们得去重新执行一下登录,因为这个talking之前已经被我们给退出的时候给放入黑名单了,使用不了啊啊,但是我们要请求这个刷新talking呢,也需要带talking是不是,所以我们重新执行一下登录,重新生成一个新的一个。Talking,接下来再开一个啊,标签使用post请求API里的also里面的re flash测试一下刷新,当然我们这么直接去请求的话,肯定会给你啊,就说没有认证嘛,那我们。
17:06
把我们登陆后的得到的这个to拿来。进行。认证来再次请求的时候呢,你可以选择在head头里面去加上啊这个。这个head头啊,再加上这个类型,再加上头。清楚吧,也可以直接在这个认证里面去选择我们的这个认证方式就可以了啊,直接把talking放在这里面。你看到吧,你会发现我们如果使用这种认证方式的话,之前我们在其他地方输入过的to啊,这里面会有。是不是要方便?对不对。那是的。是不是这样,我们执行这个刷新talking,它就给我们返回了一个新的一个talking,是不是我们复制一下这个新的一个talking啊。为什么要复制它,我现在。给大家看一下。你现在再用这个旧的这个talking,你去请求这个刷新talking的这个接口。你会发现什么?是不是也被加入黑名单了,就是我们上一个talking也被加入黑名单了,说明为什么我们在执行刷新talking的时候,他会把之前的这个talking加入黑名单,然后给你一个新的talking,哎,这个就是我们新的这个talking。
18:09
清楚吧,现在我们用这个新的投来执行这个退出操作。好。啊,当然这个没有改变啊,只有我们新加的标签,他来给我们去。加上啊,比如我们新加一个,看这里选择我们的这个talking是不是有来请求。啊,api.test里面的API斜杠,Also。Log out,执行退出啊。好是不是20455小一是不是,但刚才我没有加这个talking嘛,就是我只要在一个地方去配置过了,只要我新开标签的话,它都会给我附加上,所以这种方式特别适合我们去测试使用,明白了,我们就不用说每开一个标签,每去测试一个功能,都要在这个哈里面手动去下一遍,这多浪费时间对吧?所以我们只要在一个标签以后,比如说在登录以后,登录成功以后啊。
19:02
你甚至可以在登录成功以后,这里。啊去。就是把这个talking给。在这保存一下也可以啊。这样那。注册登录,然后还有退出以及刷新talking这个功能就写完了。还有最重要的一步,我们要把我们写的这几个1234这四个的这个API文档啊都给写完善。文档的重要性啊,特别重要。一个是方便你去看,一个是方便别人使用API的时候去看。接下来就在这里去新建一个页面啊。你不用选择目录,你新建页面的时候,会让你去选择这个目录啊,比如我们选择这个用户认证标题,取上注册。啊,就写注册就可以了,把这个删掉,先把这个字删掉,然后更多模板,使用我们的API接口模板。
20:02
啊,插入好,接着请求的地址API also。啊。Res tr请求的方式post啊,头部不需要我们就删掉。接下来reset参数也没有。啊,Query参数也没有。Body参数是有的,对吧,你看我们注册都需要什么参数。找到注册类是不是需要啊,Name email pass,还有这个是吧,而且都是必填的。啊。来把它写一下啊,内幕。昵称是必填的。接着。嗯,是我们的这个。先把那个粘着啊,太长了,不想打了,这就是我们的爬错的是不是。也是必填的啊,密码好,再复制一个是我们的确认密码是不是。
21:00
确认密码。啊,返回的参数。我们注册成功只是返回了一个201的一个响应是吧,201创建成功,创建成功。啊,返回参数就没有了是吧,然后是201创建成功。嗯。这个就不要了啊。然后还会返回什么,还会返回这个三二的一个参数的一个错误是不是。啊,这里。啊,尽可能的我们我们和我们的这个结果去保持一致就可以了,其实这里你不用去一个一个的去写啊,直接在我们这里你去。就是说模拟一下错误的情况,就是现在什么都不提交这个情况,你看没有,你直接去复制这里就行了啊,一直复制到哪呢,复制到error下面的。呃,这个第八个就不要一直复制到这个space啊,复制这个大括号,最后缺一个大括号,我们去补上就可以,你看。我们在这里去。
22:00
粘贴是吧。对不对,你看缺一个大括号,最后补上就可以了,所以你这么去去写这个啊,响应结果的一个事例。是吧,不要一个人去手打,那太费时间了,如果是我们请求成功,有有一些数据返回的话,也是直接复制成功的一个结果啊就可以了。啊,这样啊。我们的这个接口的描述没改啊。用户注册。接口。好。这样一个用户注册接口的文档就写完了,我们保存就可以了,然后。啊,返回在这里面就可以看到我们注册的这个接口啊,点进来可以看到详细的API的一个情况,接下来就会把其他的这些接口呢一一补全。啊,大家可以去补全一下。这里我就不放到视频里面,我自己去在下面补全。最后还有一点要说的是。
23:01
要把我们的数据字典也给开始完善,对吧,我们现在至少有一个用户表了,来创建一个数据字典。模板选择。啊,磁模板。哎,我们的用户表有。这个是内幕啊,内幕子弹昵称。昵称,然后有我们的密码。好,有这个。看还有什么字段。找下优色表。是不是还有呃,这个几个字段,邮箱认证的一个时间。然后。这个talking是吧,记住我就是那个talking嘛,创建时间和更新时间。是不是?我们依次把这个字段都给补上就可以了啊。但这里有一个问题啊。啊,什么问题呢,我们这个标题,其实一般标题我们就直接用表明去命名就可以了,那这里其实就啊没有必要这么去写了。
24:03
是吧,所以我们自己建的这个数据字典的这个模板啊,不用也行,直接用他自己提供的这个模板也可以啊,或者我们去编辑一下啊,我们自己的一个。模板重新去进行编译一下。啊。找到我们的这个模板啊。更多模板。插入什么板?那这个我们就不要了啊,直接就。写上啊这个描述,然后加上这个备注就可以了。啊,这样就行了,简单一点就是方便不要去看,因为这样的话,我们可以用这个用户的这个这个表明做这个标题。清楚吧,然后把它从一个模板另存为模板啊数据字典。确定啊。好,接下来更多模板里面。
25:00
啊,把这个给。删掉啊。先把这个,先把这两个都删了吧。啊,我们重新去存一份也行。另存为模板。数据字典模板。这样的话以后我们就直接使用这个模板就可以啊,然后标题是我表明最后进行保存就可以,然后大家接下来自己把这些字段给完善上去。
我来说两句