00:00
好,我们接着来往后说啊,呃,刚才我们讲的是风大的这个请求体中的参数啊,现在的话我们已经知道怎么去获取它了啊,呃,其实跟我们第一种讲的这个方式呢,有点像啊。啊,只不过呢,呃,你第一种吧,这个参数是直接暴露到你这个地址栏中的啊,然后呢,现在的话呢,它是封到了这个请求题里面的,你看不到它啊,但其实目前来看啊,我们的获取方式呢,都差不多啊,就如果说你的这个参数的名字哈,跟我们这个。形态名是一样的,那什么直接做映射啊,那假如说呢,它这个不一样的情况下,我们其实也可以使用这个request来去标识一下,去获取它。好吧,啊,这个是我们知道的啊,好,然后这个接下来的话,我们再围绕着这个请求体重这个参数呢,再来给大家去讲一种情况哈。这种情况呢,其实也是我们现在用的非常多的啊,其实像我们刚才讲的这种情况,现在已经用的相对比较少了啊,来我们说一下,大家来想一个事儿啊,如果说我们在这个页面中啊,我想给你提交很多个这个参数过去。
01:02
对吧,比如提交了五个啊,或者什么提交了十个。那按照我们刚才这种方式的话呢,你就必须得在你的这个后台的方法中,然后呢,对应的定义出来这个每一个这个参数啊,比如说你五个呀,或者什么十个呀。对不对啊,这个事儿呢,其实是非常痛苦的。啊,非常痛苦的好,所以说呢,现在我们一般已经不会这么去做了啊,那我们会怎么做呢。我们一般会这么去做啊,就是我们的前端呢,它会把你要提交的这个参数呢,我们基于什么现在比较主流的啊,这个摘省数据,然后呢,作为一个封装啊,我把它封装成一个什么摘成字符串。然后呢,我把这个整体的这个战争字符串呢,就给你什么提交的过来了。啊,那这个提交过来以后呢,我们在后边的话呢,也不需要说这个挨个把每个参数定义出来,其实我们是可以直接把这个什么参数呢,给它封装到我们的后台的一个并对象里面的,就假如说我有个对象啊,那我就什么可以在这个对象中呢,把你的每一个属性定义好,那么将来它会什么对应到我这个参数上面,然后呢,一个一个的给他什么映射过去。
02:04
那么这种方式其实现在我们用的比较主流的方式。OK吧,来,接下来我们把这个做一个演示啊,好,那如果要演示的话呢,呃,我们就不能再拿这个页面去演示了啊,因为这个很麻烦啊,我们要给大家去介绍一个工具啊。这个工具呢,以后在这个开发过程中啊,大家可能也会用得到啊,就是这个接口测试工具,来我们找一下啊呃,叫这个postman啊,就是我给大我给大家提供的是一个postman,好,当然了,你也可以去找别的哈,这个资料的话呢,呃,它的安装包啊,在这个资料中已经给大家提供好了啊好吧,你安装一下就行了啊,我们来把这个打开。好,呃,打开以后呢,我们说一下这个东西怎么用啊,其实很简单,我们现在对它的一个需求呢,呃,非常简单啊,就是测我们的这个请求,那我们就点一下这个new啊,然后呢,我们创建一个这个。Http request啊来选一下它OK,就会有这么一个界面啊,呃,在这个界面中啊,这个地方是写你的这个请求的,比如说你要发送一个,呃,你的请求方式是什么啊,这个我们现在还没有去聊过哈,这个稍后呃,给大家再去说一下这个请求的方式啊好,然后呢。
03:19
呃,这个地方的话呢,是写你的这个请求地址。啊,形成一个请求地址的啊,然后呢,下面这个地方啊,就是写你的这个请求参数的啊,那比如说现在我们想研究这个封大到请求体中的参数,这里面有个body,那么你就可以什么在这个包里面的去封装你的这个请求参数。对吧,我们通过这种方式来去测试啊好,那比如说呢,我们稍后的话呢,还是来发送这个请求啊,比如说我还是发送这个请求吧,啊,那我就把它拿过来。好,放到这儿好,当然啊,这个请求的话呢,我们就发这个post了啊,我们要把它封到了这个请求体重啊,我们暂时先发这个post请求,好,那你这个提交什么参数呢?啊,注意在这个包点下面的话,有很多种类型可以选啊,现在我们比较常用的就是那个摘的类型啊,那这个好像看不到JA是吧?有啊,你要选一下这个,选一下这个肉啊,选一下这个生,然后呢,在它里面就有这个摘生。
04:13
能看到吧,好,然后呢,接下来啊,注意。这个里面我们可以怎么做呢?你可以把你的战胜数据给它写好啊,比如说我要给你提供什么东西啊,战神的话就是一个大括号里面就写吧,假如说啊,我在给你传的时候呢,有这个用户的名字啊,我写个张三啊,有这个密码对吧,我写个比如说123 123吧,然后呢,有一个。呃,地址吧,我们多写几个啊,就表达这个参数很多哈,比如说北京,好,我再来一个,呃,再来一个age吧,比如说这个年龄哈,22岁好,再来个性别吧,比如说这个真的他是一个,呃,男或者是女啊都可以啊,我们不给不给中文了吧,就给个麦好吧,给个M吧。好吧,你看这是我的一个加深数据啊,行,那么相当于这个就是将来我要什么封装到我这个请求体重呢,传递给你这个后台的一个参数,好,那你到了后台以后,你怎么去处理这个参数呢?来我们说一下啊,我们现在比较常用的处理方式是这样子的,呃,那这个方法我就注释掉吧,这是我们刚刚测试的啊,我们重新把这个方法呢复制出来写一下啊,首先你还是处理这个请求对吧?你看啊,我们发送请求还是一个请求啊,只不过呢,这一回呢,我就不再一个一个的去定义了啊,我就不需要说,诶把这个每个呢都给大家定义出来,不需要了,我怎么做呢?我希望他直接给我封装到某个对象里面。
05:40
好,那你要封到了保护对象,你就得有一个对象来去接受它,对不对?好说接下来啊,我们去写一个对象。写个类啊。我们又上一个package,嗯,又一个package,我们就叫这个B吧。好,然后在这个病里面呢,我们去用上一个Java类啊,比如说我们就叫这个customer好吧,就叫customer啊OK,加进去啊,好,然后呢,呃,这里面我们要写什么东西呢?啊,这里面就要去写你将来想要封装什么东西,那你看一下啊,你说你提交这么多东西对吧,这个是你将来要去提交过来的东西,我把它定个图啊订过来,这是要提交过来东西,那我肯定是希望能够什么全部都封装到我这个customer里面的。
06:24
对吧,所以说啊,我们要什么依次对应的你这个名字,然后呢,去做一个属性的一个声明,来我们声明一下啊,比如说字符串的叫这个U3NAME好,然后呢,字符串的pass what好,字符串的嗯,地址OK,呃,Inter的一个edge好age,然后呢,呃,字符串的一个真ROK,你看一下我就把它写好了。好,呃,那这个写好以后,大家注意哈,我们正常情况下,在你这个Java中开发的话呢,你写好这个属性以后呢,你要去写它的什么呀,比如说这个构造器,按照你的情况,比如说你要加什么呀,加这个呃,无参数的呀。
07:13
对吧,或者什么这个有参数的呀啊,你要什么按照情况呢去提供构造器啊,当然呢,你避免不了还得提供什么呀,就是我们常用的这个get和塞的方法,OK吧,当然你还可能会提供什么呀,比如说这个什么出方法。对吧,就等等一些啊,你可能会提供很多东西,好,但大家注意啊,这些东西的话呢,其实都是固定化的一些东西。啊,那你说我这个Java都发展这么多年了,那这个这个这些东西还需要我手动去写吗?不需要idea都能帮你生成,对不对啊,但其实我觉得idea帮你生成的也有点low了啊,现在我们怎么玩呢?我们这么去玩。大家应该还有印象啊,我们在这个搭建这个搭建这个模块的时候啊,搭建这个SP模块的时候,我们加了一个这个插件,这个插件叫什么呢?叫这个longbook。
08:01
对吧,这个家伙能干嘛呢啊,他就可以帮助我去简化这个就是并堆上的开发,你比如说啊,现在我希望它里面有一个构造器,比如说无参数构造器啊,那我可以这么去加一个注解搞定。我想要有一个啊,稍微啊,无参数的神道啊。OK。那我希望有一个带参数的构造器,有了好,那我希望有一个get方法,就是get。我希望有个赛的方法,那就是塞啊,我希望有个to string方法,那就to string啊,你看一下,就你希望他有什么东西,你就往脑脑脑脑袋瓜上去标就完事了。好吧,但是啊,你这个标出来以后呢,你这里面是看不到那个具体的东西的啊,但我们是可以用的啊,你看一下,比如说给你做个测试啊,假如说我们写一个测试方法对吧,你看啊,这里面假设啊,我们去。Customer,好,我去拗一个,你看了哈,我在拗这个customer的时候。
09:02
好,你看一下啊,这个里面你去CTRL加P提示一下。没有参数的,带参数的你看是不是都有啊。这里面我可没有写过啊,它是可以提示的,好,甚至于你看了哈,比如说customer点,比如说我要什么get的方法。都有吧,两下的方法。都有吧?对不对,说只要你加上这个构造器以后啊,加上这个什么注解以后,那你就可以了,好吧。这啊呃,但是这个大家下去以后写的时候呢,可能发现说,诶为什么我这个点不出来这个方法呀,啊,那是因为这样子的啊,我们需要在你的ideal中啊,给大家去写到这儿啊,需要在idea中。嗯,强调一下啊好需要什么在ideal中,然后呢,安装一个插件啊安装这个。龙布个插件好,呃,这个插件怎么去安装的啊,我们这么去安装啊,就是。
10:03
在这个。插件市场中啊,我们找到这个plugins啊,在setting里面,然后呢,呃,找到这个in啊,在这个plugin里面呢,你就去搜索一下啊,搜索一下叫什么叫这个room book OK,搜索。好,那你能搜索到一个这个插件啊,当然我是已经安装过的啊,就大家的话需要什么把它做一个安装好,那么安装完成以后呢,你的idea呢,它就能够识别出来你们是在干什么,对吧,那么自然而然也就能够识别出来这里面这个所有的方法了,就是基于这个注解,然后给你提供好的方法。好吧,啊,这是一个呃,比较好用的一个这个工具啊,叫这个龙book工具,我们就把它用上了啊行,那这个类有了以后的话,你看一下啊,我现在希望你。好,我现在希望你干嘛呢,就把你这个。前端啊,你提交过来这个参数直接给我什么封装到我的对象中,好,那我就什么封装这个对象里面,那怎么封装的啊,这个东西我们得用到一个全新的注解,叫做request body,对吧,就告诉他啊,把这个请求体中的参数给我往这里面去扔。
11:11
啊,给我怼进去啊,来解释一下。Request body啊就是将诶诶写一下啊,将什么呀,将请求体中的好这个参数啊,应该是我们这个摘格式的啊,摘格式的这个参数啊,然后呢,映射到呃对象。对应的属性上,好,那当然了啊,既然我说的是对应的,那就说明我的这个参数名叫什么,那我就会到你的对象中的去找相同名字的这个参数哈,只不过我们现在都是一样的的啊,行,那我就把它给进来,给进来以后呢,这里面啊,我们就直接成一个就成一个custom吧。看到了吧,好,当然现在返回直接改一下啊行呃,那么这个大家可能又看不懂了啊,诶你这个返回一个对象,这怎么玩呀。
12:08
对吧,我这个前端,我这个页面中,我怎么去识别你这个加构对象呢?啊,听我讲啊,你看的是返回一个对象,实际上这个地方呢,它会通过我们的这个response body这个注解,我们不是标注这个注解吗?对吧?这个注解相当于什么两个注解的一个合体啊这个注解呢,会干嘛呢?会把你返回的这个对象,然后呢,转换成什么呀,加上字符串返回。对吧,你要说如果说直接把一个Java对象给人扔回去了,人家可认不认识这个东西的啊,但是我转换成这个加成字符串以后呢,诶,我就可以什么正确的去识别了。理解吧,啊,当然呢,我们也可以这么去玩,比如说那我就想返回一个字符串。对吧,那你这里面你比如说我调一个什么,调to string呗,对吧,我调用to string,我把它先转成一个字符串,那我就给你返回一个字符串不也行吗。
13:01
是吧,都是可以的啊,那我就什么直接返回对象吧,好行,那就把它写好了,写好以后的话,我们来做一个测试啊,我们把这个重新启动一下。好起来以后呢,来我们就来到这个接口测试工具中啊,你看了哈,现在我要给他去发送请求了啊,来走一下。好吧,你看一下啊,这就是我们这个结果,好,首先我们看到一个状态码啊,这个大家慢慢去关注一下这个状态码啊,这个后面的话我会给你去总结一下的啊,这个200啊,这个绿颜色的就代表的是正确的啊,这个是谁都喜欢的啊,这个只要绿的啊,大家都喜欢对不对啊。行,然后呢,这是我们的结果啊,结果的话呢,你看啊,我们是把一个对象啊。叫卡对象,然后呢,给它转成了一个战神字符串,那你看一下你的这个对象转成战神字符串以后呢,不就长这个样子的吗。然后你会发现哈,我们这里面该有的都有。
14:00
是吧,诶少一个真的是吧,真的啊,我写的是GD呀,对吧,那不对呀。这样就对了,对吧,真的啊,来再发一下。有了吧,对不对,你参数给他写错了啊,那就正好有验验证了啊,如果说你的参数名字跟我什么对象的这个什么呀,熟悉名对应不上,那我还给你映射不了是不是啊,正好验证了一下啊OK,好,那你看一下吧,现在我不就都有了吗?我就说嘛,正常的可以什么按照你的参数的名字,然后呢,映射到你对象的属性里面。对吧,所以说啊,以后如果说你在看到这个,哎呀,我需要提交很多很多这个参数,不用担心啊,我们后台的处理依旧很简单,对吧,只要你前端啊约定好了,你给我提交一个什么摘格式的什么综上过来,那我就什么可以什么直接往它里面去做映射了。那你看一下,对于我这个Java端的话呢,我拿到这么一个对象,那我接下来就什么直接什么基于你的这个对象啊,做这个处理了啊,只不过现在我们是没有什么处理啊。对吧,那如果你要有处理的话,那为什么直接正好就是一个对象,还省得我去做封装了啊,你看如果说你要使用这种方式,虽然说我们也可以什么一个一个参数都给他什么接收回来,但你最后这么多个参数,你在后面再往后传递也是很麻烦的事,那你还有什么需要自己去做一个什么封装,对吧。
15:15
那现在的话,我就什么不需要再去做这个封装了,我就什么直接诶拿到对象就可什么直接去使用了。好吧,这就是我们这个呃,Request body啊,直接什么把请求题中的什么加成格式参数呢,映射到这个对象的。对应的这个属性上。明白了吧,同学们好,行呃,然后呢,这个话题中的话呢,我们就有这么几个点啊,一个是request body,然后呢,一个是这个long book,这个东西怎么用啊,再一个就是给他介绍了一个工具啊,叫这个postman,呃,这个工具的话呢,我们接下来我就要什么把它用起来了啊,我就省的说每次都什么跑到浏览器中啊,然后呢,在地址栏里面写个地址对吧?然后呢,再看看你这个返回的结果啊,这个很麻烦,你有这个工具,你可以什么随便灵活去调整,比如说你的请求方式啊,对吧,你的请求地址啊,你传什么参数啊。
16:03
是不是以及看结果啊,这都是我们非常方便的。省得你什么翻来翻去。明白了吧,啊,所以以后我们就要什么用这个工具了啊,来去做这个接口的测试。OK吧,行,就说这么多啊。
我来说两句