00:00
OK啊呃,那我们打通这个请求以后呢,接下来我们要研究另外一个话题啊,我就写到这吧,我们要研究一下请求参数。那你说我每次给你发送一个请求过来哈,那你这个请求你要让我干什么事儿。对吧,这个肯定是你们前后协商好的,比如说诶,你前面给我发送一个什么请求,那我后台我就帮你做什么事。对吧,但其实呢,一般情况下,我们前面啊,就你的客户端给我往过发请求的时候呢,他会带上一些他想要说的话。对吧,就说白了就是他会带上一些什么呀,他想要给你发送的数据,那这些数据的话呢,我们就需要什么在你的后台呢,把它接收到,接收到以后呢,把这个数据呢,做出一些处理。那这个数据的话,我们就把它称之为是一个请求的参数,能明白吧?啊,那么这个请求参数的话,我们有几种携带方式啊,给他去说一下,它有三种携带方式,第一种就是呃,这个地址栏中啊,地址栏中的这个这个KV格式的。啊KV啊,KV格式的这个参数啊,好,然后第二种是这个呃,嵌入到啊。
01:09
地址栏中的这个这个这个参数好,第三种是什么呀?就是这个封装档请求体中的参数,OK,就是它从这个浏览器端啊,我要给你这个后台的,比如说这个发送这个参数了,我有几种发送方式呢?我大概有三种。OK吧,就刚刚这个提到这三种,我们来挨个去讲啊,首先我们先说这个第一种啊。好,先说第一种吧,就是这个,呃,我写到这儿啊。好,第一种就是地址栏中的AKV格式的参数啊,你来看一下,刚才呢,我在这里面其实做了一个搜索啊,比如说重新给你搜索一下,我搜索一个这个华为手机啊。对吧,我做一个搜索走。好,那你看我的这个搜索的话呢,其实其实我的这个动作啊,它就会往你这个后台的发送一个请求,这个请求就在上面来,我把它拿过来,拿过来以后呢,给大家去解析一下啊,这个不要了啊好你看一下。
02:06
这个还是我前面这个请求的地址,这是我最对应的那个请求,然后后面你看了哈,问号后面你看一下啊,这是一个K,然后呢,这是一个值。对吧,中间是个and,这又是一个K,这又是一个值,然后呢,又是一个and,好,这又是一个K,这又是一个值,然后又是一个and,这又是一个,这又是一个值,你会发现啊,我们在这个问号后面的话,我们拼接了很多参数,这个参数都是你看一个K一个值,一个K一个值,一个K一个值,一个K一个值。明白吧,然后中间的话,你这个多个参数之间呢,我们会通过一个按去做拼接啊,这个其实在我们这个ES中,我们讲的那个参数是一样子的。对吧,你多个参数之间通过and去做拼接,好吧,好,那么当然现在你这个看不懂这个东西啊,这是因为什么做过编码的啊,正常情况下应该显示的是什么,华为手机,华为手机。对吧,啊,然后呢,这个这个是什么做过编码的,你就什么看不到了。
03:00
OK吧,啊,但是要知道它的格式呢,就是一个什么KV格式的。听明白了吧,啊,QB格式的啊,OK,好,那我们知道你这种格式以后呢,假如说啊,我想在这个浏览器端呢,发送这么一个请求,你看我就写一个叫做呃请求参数吧,这个请求我叫做嗯,就叫P,好吧,这是我的一个请求啊好,那我要给你发送什么参数呢?比如说user name。等于张三啊,然后呢,再来一个吧,And,比如说A等于22。好,这个是我现在要给你什么发送的一个请求,那我就希望你在这个后台呢,能够把这个请求参数呢,给我什么获取到,那我们来看一下啊,你就把它拿过来好,拿过来以后呢,你就放到你这个代码中。好。写个方法,我们叫什么叫这个P啊,我想想啊PK吧,好吧,PKV啊,嗯,改一下啊啊。PK啊,就表示我是一个KV格式的参数啊,这样的话我就能够区分开了啊,来PKV啊。
04:04
行,那首先的话呢,你得什么呀,你得想办法啊,就是先把这个请求呢,跟我这个方法呢,做一个映射对不对,那这个怎么映射呢?那就是一个request mapping,好request mapping,然后这里面写什么东西呢?那就写你这个请求的。请求就可以了啊,OK,再强调一下啊,这个方法的名字其实无所谓啊,你不要觉得说那我这个方法名字是必须得跟你这个请求名一样啊,不是的啊,就是我为了好看,我就什么教程一样的了啊OK,那现在的话我就能够什么正常的把这个请求呢?诶交给我这个方法进行处理了,但是你这个请求参数我怎么处理呢。听好了啊,这个请求参数是这么去处理的啊,我们需要在你的方法中,然后呢,定义什么对义的参数就行参,然后呢,跟他去做映射,比如说我就写这么个东西啊,你看一下,然后呢,In age。能不能看明白,就是我在我的请求方法中呢,写上两个参数,然后呢,对应到你的每一个参数上面。
05:03
OK啊,当然现在我写的这个名字呢,是一样子的,你看到没有名字是一样子的啊,那如果说你的名字是一样子的话,那就非常简单了啊,你看我给你return一个什么东西呢?就是你的user name,等于好,我加上我这个u name,然后呢,我再加上一个逗号啊,然后呢,Age呢,等于诶我也加上一个age。好吧,就是如果说我能够正常把它获取到,那我又把它拼成了一个什么字符串,对吧,拼成一个字符串,然后又给他怎么返回到你的这个客户端了。能看明白吧,来我们看一下啊,现在我们能不能正常把它获取到啊,OK,走一下。好,启动起来以后呢,我们就什么直接去访问一下了啊,你看啊,就这个请求啊,你直接回车就行了。张三,22拿到了吧。那么既然你这个结果能够返回回来,就说明什么,说明我在后台做处理的时候呢,我是能够正常的把这个username,把这个A呢,把这个值给它什么获取过来的,你看一下这个是不是很简单呀。
06:04
大家应该也能猜出来他怎么做的吧?啊,就它为什么自动的去识别啊,如果说你的请求的什么呀。请求的这个参数的名字跟我这个什么呀,方法行参的名字是一致的啊,名字是一样的,那我就什么可以把它什么映射过来了。对吧,来写一下啊好,如果请求名,请求参数名与方法的行参名。一致对吧,一致啊,呃,可以什么呀。啊,可以什么呀,可以这个直接啊进行什么呀,可以直接什么进行这个,呃,参数的一个映射啊,参数值的映射。能听懂吧,好,但是呢,呃,那有些时候我可能会写的不一样,比如说我把这个写成写成一个name了。对吧,那如果说写成name以后呢,很明显我这个这个名字跟人家这个一样吗?这就不一样了吧,同学们,那你不一样的话,你还能做到这个映射吗。这个肯定做不到了啊,同学们,这个肯定就做不到了,来我们看一下。
07:03
好,启动起来以后再访问,你看一下变成空了吧。做不到了吧,只有一样的这个A它是一样的,它才能够什么映射过来,那你说如果你映射不了的话,难道你要求我必须得一致吗?其实也不是的啊,如果说我们不一致的情况下呢,我们可以什么使用一个注解来去做,怎么做呢?你看了哈,这样来去做叫request p,这个叫做请求参数,我告诉他,你把我请求地址中的username这个参数给我映射到我的这个形态上。就是我点名道姓的告诉你,你把这个东西给到他上面。理解吧,啊,当然你说我这个名字一样的情况下,我能不能写他呢?啊,可以啊,只不过是你可以省略嘛。对吧,那我就告诉你什么呀,你把这个请求地址中叫A的这个参数,然后呢,给我什么呀,映射到我的这个形态上面,好,那你这么写完以后啊,大家注意我们再来去启动一下啊。
08:06
好,这个启动起来以后呢,你再来访问一下啊找一下。又有了吧?对吧,你看一下啊,你前面是叫username叫age,然后我后台的话,我是什么叫name。但是呢,我是告诉过你的,你把这个username给我映射过来。那好的吧,那我就什么可以正常的把这个参数给他什么获取到了。看明白了吧,那么这就是我们的第一种方式,如果说你的请求参数呢,是通过什么,通过这个KV的方式传过来的啊,KV的方式传过来的,那我就什么可以使用request来进行这个获取。明白我的意思了吧,啊,来进行获取啊好。呃,那这里面写一下啊,就是这个。把这个写一下啊,这个request他干什么事啊呃,他什么将这个请求啊,将请求参数,将请求参数啊,然后呢,这个映射到呃方法这个对应的行参上啊明白吧,如果说请求参数名和方法名一致啊,那什么可以什么直接什么进行参数的映射啊,不需要可以什么可以省略这个request permit注request的这个指定啊,这个可以省略这个request,就你可以不写它也可以,但如果说你的名字不一样,那你是那你是必须要去写的啊,同学们必须要去写。
09:28
呃,听懂我这个意思了吧,同学们。明白了吧,好,来,这是我们的这个第一种方式啊,OK。
我来说两句