00:00
咱们看前端在添加章节里,按照咱的过程,首先第一部分肯定还是在这个API里边,咱们来创建它这个增删改伐这个接口的一个定义,把这些咱就定出来,然后定义之后在页面中我们再引入,再进行调用。这么一个过程,那咱们先把增生改善方法在capital中先给它定义出来。那我来定一下啊。就是第一个是。添加章节我就用它,咱给他改一下,因为结构都差不多。添加章节,我就叫做A的。在里边传入那个章节的对象。然后传入之后,下面写一下它那个接口的地址,接口地址我就到这里边,咱们就复制一下啊。就是这个地址。Edu。复制的时候注意不要复制错啊,Edu capital service。
01:02
啊1WI啊这个开,然后下面加上名字,添加章节就是里边的。这个方法叫A的capital。把这个拿过来,然后在里边传入一个对象,咱用的是POS提交。这是post。下面我们加个逗号,然后加个date,它是用de传递,加上一个叫capital,这个添加章节定义出来了,然后定义之后再定义,第二个就是修改,修改有两个,第一个根据ID查询章节,把这个我们快速写出来。还是用它改一下啊。这是。根据ID查章节,我就叫get capital。里边传入一个章节的ID。ID。然后写完之后,下面写一下它那个接口,接口就是里边的这个get info后面传这么一个ID。
02:03
就是这个ID啊,开不开ID。我还是强调一点啊,各位在这么写的时候,这斜杠不能少,你少的话它就是这种形式,那肯定不对啊,后面有一个斜杠。然后咱们是get提交,这是第二个写完之后,下一个方法是修改的这么一个方法,那我在这里边定义。这叫修改章节。然后修改应该跟添加差不多,不用它啊,咱就省事快速复制改一下了啊,修改叫update这个capital。里边传过对象,然后最后调用我们那个接口叫update开,把这个输入过来,最后传一个开对象要修改,还有最后一个,那就是删除的这么一个方法,我把删除这种写下啊删除。好,那咱们看这个最后这个删除。
03:04
删除里边呢,我加一个叫delete capital,把这个写一下啊delete,然后里边删除呢,咱是根据那个ID删除,所以我加上一个叫开ID。在这里边还是加上它那个接口。里边啊,就是一个ID啊,那把ID我就直接传过来。加上一个叫ID。最后提交方式改成叫delete啊,注意别写错,然后这个没有参数去掉,现在这几个方法我们就定出来了,关于这个章节的自然改查的这么几个方法定义,然后都定义之后,最后在页面中我们做一个最终的调用,把这实验出来。第一个已经引过来了,然后咱看结果啊,还是这个过程,当咱们一弹框,肯定是这个弹框,在弹框里边呢,最后有一个确定按钮,在确定按钮中有个方法叫save o of。
04:04
这个方法这么写,各位应该都能想到,咱之前写过很多次这种写法,因为咱们这里边要做添加,然后做修改,所以咱们先给我添加,后面再完善。那我在这里边把方法定下啊。这个方法就是。添加章节,我先写这个啊,后面咱再改。然后洗完之后在里边我们就做一个调用,咱就掉里边这个就是开中的添加的方法。这个方法到里边复制一下啊,我们叫做A的开,然后在A的character中把里边那个character对象传进来,因为咱们定义了这么一个初始值,包括它里面都有V杠,Model都可以。另外在开中我们可以写一些那些属性,就为了更方便后面操作。把属性啊给它也全都加进去啊。就到这个页面,这接口咱写完了。
05:02
然后咱找那个属性。也就复制,呃,就是两个,一个title,一个so,一个名称,还有一个排序。这两个啊,给它直接就写进来啊,然后写完之后,咱们把这传进来,最后加一个叫。点,然后第二个response。箭头函数,这就表示我们添加成功,而添加成功之后咱干什么呢?首先啊,大家看啊,比如现在第一面中我输入值,点确定是不是要添加,当我添加成功之后想干什么。就是各位能想到哈,第一个就是这框是不是要关掉,第二个是不是提示信息啊,然后第三个刷新页面是不是得到最新数据,所以要做三步,关弹框提示信息,包括刷新页面。那咱都写一下啊,第一个。关闭弹框。第二个提示信息,就提示它成功或者失败,然后第三个就是刷新我们的这个页面。
06:06
那我们来写一下啊,第一个关弹框咱说过了,就是你让这个值等于false就可以了,那我们写一下啊。加上这个叫this,点这个值等于false,就是弹框中那个是否显示的值,然后第二个第二个提示信息,比如说成功或者失败,这提示信息我就到之前页面中咱找一下,你之前都写过啊,就是里边的。找一个啊。这个信息。成功或者失败,把这个咱们拿过来,这是第二步。比如写一下就叫做添加章节成功。第二步,然后第三步咱们就刷新页面,其实刷新页面呢,就是让我这个方法是不是再请一次,把所有数据都再查一次,那我们就直接来一个叫这点get,这个capital video,这是查所有的章节小节,把这个咱再查一遍。
07:03
这样的话,咱这么做就完成了添加的这么一个过程,这咱就做到了啊,这是关于我们的第一个功能添加章节。所以各位把这些呢快速做到啊,就咱们刚才写到的主要这么几点,第一个把页面部分我们加了一个八臀按钮,然后里边呢加了一个弹框的地方,在弹框中用过V-model双向绑定这个开对象,为了传数据,然后都写完之后,咱又开发了后端的章节的增删,增加修改删除的几个接口都写完之后,最后页面中我们给它引入,然后调这个方法做一个添加,添加之后就是关弹框提示信息,还有这个刷新页面。这个是咱们最终这些功能咱们就完成了啊,然后完成之后,咱们把效果我们就最终来测试一下,看一下最终结果。比如说啊,找一个没有数据的啊,咱们看的更明显。
08:02
这是咱们之前加那个没有数据的,那用它我们试一下啊,现在我点添加章节。弹个框,在弹框里边呢,比如我输入一个章节名称,假如说我叫第一章,就叫测试它的排序,就写个一,然后写完之后,我现在点确定来看效果啊,我一点。大家看提出我们报了一个错啊,咱看什么错啊。我上午说过,怎么看这错误啊,咱先点F12。我们发现还是这个错误啊。这错误不想重复了啊,上午说过了,403的错误,或者这个提示要么跨域,要么路径写错了。好像是跨域,跨域咱看啊,跨域好像没有问题啊,那可能就是路径写错了,那我们来查一下啊,到底是哪里写的不对啊,看这问题到底是什么。那咱们看一下啊,首先我们看这里边它叫edu three character,这叫A的,咱先看接口地方。
09:01
啊,所以这个问题啊,什么问题呢,给大家说一下啊。其实这个问题啊,我觉得各位自己在测试中可能也会遇到这个问题,这个问题啊,跟路径确实相关,什么问题呢。我说各位是否发现啊,我刚才写完代码之后,我服务器没重启吧。没重启它代码肯定没有编译嘛,现在肯定报错路径肯定没有找不到,因为你没重启,你写完代码没有重启服务器肯定没有。这种问题各位注意一下啊,写完Java代码服务器要重启,刚才我是没重启,所以它没有路径,报了403。地址是没有,因为你没有重启,没有加载没有变异嘛,没这个东西,那我给他重启一下啊,咱来试一下。就是这个错误啊。好,我把它重启啊。然后重启之后,前端应该不需要操作,咱们再试一下啊。重新试一下把F12我就还点开,我先整个CTRLF5刷新。
10:02
呃,强制刷新,刷新之后再弹个框里边还输这个值,比如我叫第一章啊,测试这个1010,然后这是排序来个一,咱们点确定,大家看这里边告诉我们执行了一个异常,大家看什么异常啊。注意啊,这个什么错误呢?当你发现啊,只有一个错误叫执行了全局异常,那就表示啊,这个问题我说各位是否记得啊,咱在我们做接口中的第一天的时候,我们写了一个叫缺异常处理,那这过程中肯定是他后端暴露错误。你看里边接口中它就暴露错误。好,需要这个位置啊。就这里边我们有这么一个东西,那这个如果出现的话,肯定是咱们那个就是后端的代码。有问题了啊,有问题了,那咱们下面看一下代码,包括咱刚才也看到前端,它没有报什么特别错误,只是提示你说什么I着肯定有问题,那家看接口地方,在我们的接口中,大家发现它是不是就是报出这个异常问题,里边就有异常了,那咱看这个异常到底是什么问题啊,咱看里边提示我们。
11:15
这异常怎么看?给大家说一下啊,一般来讲大家看异常看它的前面几行和后面一部分,那再看前面呢,其实有的时候看不到它的具体错误,有时候也会提示,比如这里面就告诉我们这一行。来看什么意思啊,他这里写到。说这个field。叫什么?是不是这个字段或者属性,说这个叫cos ID,它没有一个默认值,包括咱看后面有一个单词叫这个cos by cos by表示就是由什么引起,那告诉我们说cos ID没有值,那这个就很明确了,它的含义是什么呢?就是现在大家看啊,我在加这个章节的时候,大家看章节这表里边有个字段。
12:02
叫什么?是不是叫cosd,而我刚才啊,在提交数据的时候,咱提交过来叫capital,但是你看我现在的capital中有那个课程ID吗?咱看到。是没有啊,它只有title和sot,没有cos ID,所以在一提交到达后面一添加,它就报了一个错误,说cos ID值为空,而cos I我在加的时候特别加了一个叫。Not呢,它的值应该不能为空,所以目前就出现了这么一个问题啊,就是这个值我们刚才是没有传过来,它最终就报了一个错误,这个啊是咱看到一个错误,希望各位能快速给他分析出来,我再说一遍啊。就是我们在错误中呢,咱经常看到这么几种,第一种咱看那个叫net I种,我们最开始是403403的错误,要么跨域,要么路径错了,我第一次错误是因为我的服务器没重启,然后我重启之后发现这里边又出现错误,叫做执行了全局异常,是咱们之前那个异常处理执行了,那这问题是接口问题,咱找到接口中发现这里边提示我们说这个cos ID这值没有传,因为咱们在加章节的时候是需要你的课程ID。
13:17
但是咱最终发现我在传这个开对象的时候,这过程中咱是不是就是没有传cos ID,所以他最终报着这个错误,说这值没有,他就没有加进去,这问题我们就找到了啊,然后找到之后怎么做呢?最后咱们把这值给它就加一下就可以了,就加上这个CRID,这过程就可以实现。那咱给他就加一下啊,那怎么加呢?也就是说课程ID咱都有了,咱们把课程ID设置到这个开的对象中就可以了啊,就是这么一个做法,把这个ID设置到开的对象中,那这个过程就可以做到,那我们来设置一下啊。在什么地方设置呢?就是在你的添加之前设置就可以,只要开中传值前有值就可以了,那我就写到这个位置了,后面咱再完善啊。
14:10
设置课程ID到我们那个。开对象里面去,为了里边有值,那怎么设置呢?咱来一个叫这次点开点上这个叫cos,然后等于就是咱们这个叫S点。Cos这样的话可以了,因为咱的character对象在咱的实体类中咱找到。你看里边。是不是有这个叫cos ID嘛,所以咱把它就可以设置进去。这样的话,这个值应该就有了,当你设了之后,再往里边一传就能做添加这个啊,我们做了一个修改,主要是少这个步骤。然后修改之后呢,还有一个地方,这我也避免掉了,一会也不演示了,就是这个值时间嘛,咱需要加上一个叫自动填充,我加一个叫file,等于这个叫。
15:03
Feel feel insert,然后还有一个叫。这个update。这个我们都给它加上啊。所以这样的话,这个过程我们就最终给他都解决了啊,主要是咱刚才这几种问题我们都做到了啊,然后再说一遍啊,后面咱再测试过程中,第一个就是服务器没重启,然后第二个因为你加章节的时候,它需要课程ID,但之前里边是没有课程ID的,所以在里边我们给它做一个设置,这些设置位置无所谓,只要你在传之前设置就可以了,我在这之前向里边传了一个CRID,因为CRID咱这件事取到了,然后都做完之后,最后我们还少了一个步骤,在里边需要加一个自动填充,因为时间需要自动加进去,最终再来测试,这效果应该就对了。所以主要这一过程。
我来说两句