00:00
好,然后呢,我们刚才呢,咱们就讲了咱们的value属性啊,跟咱们的method的属性,然后下面大家再来看咱们需要了解的两个属性,首先呢,大家看咱们的第三个属性啊,叫做pers这个S,那咱们从名字呀,然后大家就知道per是不是应该是参数的意思,对不对,就比如说我们原来在so里面,然后咱们来获取请求参数,应该用的是request.get parater,对不对,request.get parater来获取请求参数,所以说这个para其实就是咱们parameter的前几个字母嘛,是不是啊,所以说大家想,既然我们的request mapping,然后这个东西它是用来匹配我们浏览器发送的请求的,那所以说这个属性的作用,那是不是就应该是通过请求参数去匹配请求,对不对,对不对,通过请求参数去匹配请求,大家想想嘛,Value。
01:00
是指的请求地址,所以说是根据请求地址匹配请求,Method是请求方式,根据请求方式匹配请求,那paras表示的是请求参数,那不就是根据请求参数来匹配请求吗?是不是?是吧?好,然后这个东西在用的时候,大家注意它跟我们当前咱们的这个这个value跟method的属性就不一样了,为啥呢?因为大家都知道value如果咱们设置的有多个值,那咱们是不是只要满足其中一个,然后就能够找到相对应的请求映射对不对?Method呢,也是只要满足咱们的request making里面的任意一个请求方式,是不是就能够匹配到请求映射对不对?但是大家注意pers不一样,Pers呢?然后我们所设置的这些请求参数的条件必须同时满足才能匹配请求映射,能听懂吧,必须同时满足啊,好,来大家来看啊。
02:00
那我们当前咱们的该怎么去写呢?好,然后它的这个值呀,我们在设置的时候,首先咱们先来看一下它的类型吧,来咱们来找到咱们的控制器,然后咱们把它给打开,然后呢,把咱们的第七个这个是不是结构structure看到了没?Out加七其实打开的就是它知道不知道不就这个地方叫structure,什么叫structure,鼠标放到这,这是不是叫做project structure叫项目结构,这个指的就是我们当前所打开的这一个注解的结构,能听懂了好,大家看。其实那咱们就从这开始看吧,你看下面这些属性,它的值全部都是啥,是不是全部都是数组啊啊,咱们的method是request method类型的,咱们刚才说是字符串类型的是不是是吧,Request method类型的啊。好,然后大家来看,你看我们当前咱们这里面是不是都是一个字符串类型的数组,然后method是一个request method类型的数组,对不对,对吧?那咱们来找到咱们的pairs,好,它也是一个数组,那所以说咱们是不是可以通过多个请求参数的条件来匹配请求,对不对,对吧?然后但是呢,咱们的value里面设置了多个,是不是应该只要满足一个就行,Method设置了多个,也是只要满足其中一个就行,但是咱们的paras大家注意和我们马上要讲的headers都是必须同时满足,能听懂,不都是必须同时满足啊,好,那我们下面咱们来看,那我们的paras咱们到底应该怎么去写呢?比如说我还把它给写到我们当前的这个方法中,可不可以啊,可不可以啊,可以吧,好大家来看怎么写呀,然后咱们在这是不是有TS这个属性啊,对不对,然后等于是不是也是一个字符串数组呀。
03:53
啊,一个大括号,那这里面呢,咱们要用到四种表达式。要用到四种表达式,什么叫四种表达式呢?大家看好,比如说我们在这咱们写了一个user name,好,然后这个时候表示我们当前的请求映射所能够匹配的请求必须携带user内请求参数能听懂,不需要管它的值不需要,不需要,但是你必须要携带能听懂吧,好,OK,那如果我现在在这加了一个叹号,代表什么?就是当前所匹配的请求中一定不能有username这个参数,能听懂吧,好,OK,然后下面大家再看,你看咱们的这个地方还可以设置它的值,比如说我在这设置一个奥me OK吧,好,然后这个时候表示什么意思啊?我们当前所匹配的请求必须写带username属性,并且它的值必须为order me,好,这个地方也可以加个叹号,什么意思,必须。
04:59
接带username,但是username的值一定不能是orderin,能听懂吧?好,OK,就是这个意思,来咱们看咱们的笔记,大家看看看有问题没有,来大家看有问题没有,没有问题吧,是咱们刚才所说的那几种结果吧,好OK,下面呢,咱们就来测试一下呗,比如说大家看好啊,我在这个地方咱们就写个username,那说明我们当前咱们的请求中是不是必须携带username呀,对不对?那我们要想传输一个请求参数,大家说有几种方式啊,两种方式,你要么以get方式传输,你要么以post方式传输,然后post的方式咱们就必须得有form表单,对不对?如果说咱们用get方式的话,那咱们是不是就需要在咱们的请求地址后来拼接请求参数,对不对?对吧?好,OK,来吧,测试一下看好了啊。
05:57
嗯,这样吧,咱们这里面写的东西啊,也不少了,然后咱们换一个吧,行不行,来咱们把这个方法,然后给写到这个位置啊叫request map括号,然后里面先写value,然后大家注意咱们这个就叫做。
06:14
斜线,然后叫test paras ands,可不可以啊,可以吧,然后呢,这个method大家说我不设置是啥意思?再好好想想,咱们说过method不设置什么意思啊,不以请求方式为条件对不对?也就是说任意的请求方式都OK,能听懂吧?好,OK啊,行,那咱们就不设置了吧,那咱们在这主要就是来测试我们的什么属性的S和PSOK,咱们再来写一个pars,比如说就像是我们刚才写的,我在这就来写一个user内能看懂吧,那这个时候咱们请求映射所匹配的请求是不是必须写带谁呀?必须写带username请求参数能听懂吧,Public返回一个词句,然后咱们就叫做text para and he OK啊。
07:15
好,大括号,行,来吧,直接return。能看懂吧,好,OK,来吧,测试一下,找到咱们的inex.H7ML对吧,那咱们就简单一点,就用超链接,你想写的麻烦一点,那咱们就用form表单是不是是吧?好,OK,来写一个超链接,然后在这儿咱们要想把这个属性被咱们的simli解析,加上TH,然后it大括号,然后写谁是不是就是我们刚才复制的这个值叫做test paras paras and heads,能看懂吧。然后呢,怎么拼接请求参数呀,哎,咱们在这问号。
08:04
啊,这个地方应该怎么写啊,啊,咱们是测试咱们request mapping注解的什么属性啊。嗯,什么属性,是不是叫做属性paras,好,然后那它所对应的请求地址是不是应该是test parents and pages能看懂吧?好,怎么拼接请求参数呀。问号在这用问号。是问号吗?是问号吗?应该不是问号吧,那怎么可能会是问号呢啊,人家没有写过吗?来,那咱们就先这样,那我们既然是测试,那咱们现在传输请求参数了吗?没有吗?没有,那我们就来测试一下,大家看好使不好使就完事了,对不对,对吧?那我们当前要求是不是必须携带username呀?但是咱们携带了吗?没有携带好,所以说大家来看我们来访问咱们的首页。
09:06
又卡了是不是啊,是不是啊,对吧,又卡了啊,你们先等一下,嗯,一直在转是吧,如果说实在转不好,那咱们就重启一下就行,是不是啊,对吧。啊,来吧,那咱们直接重启啊,好好了。好,大家来看一下啊,其实在我们的这个simni里面,我们要想去拼接请求参数的话,你在这用问号它能不能拼接上啊。可不可以啊啊,那咱们一会就来看一下呗,行不行?好,大家来看啊,我现在呢,咱们当前的这个请求,大家看我鼠标放上去,看咱们的左下角啊,左下角是不是咱们浏览器的状态栏啊,咱们在这个时候咱们有没有去拼接任何的请求参数啊,没有,那没有的话,而我们的请求映射是不是要求咱们必须得有谁啊,User内容对不对啊,我点击之后大家看报的什么错啊,400叫parameter conditions usename not me for,然后actual request parameters什么意思啊,也就是我们当前咱们的请求,真正的一个请求参数中有没有username呀,没有,好,然后下边大家来看,这个是我们当前请求的一个匹配情况,大家来看啊,你看来我们当前呢,咱们所发送的请求是这样的,然后我们的请求参数有没有啊,没有对吧。
10:45
好,然后那我们当前所报的这个错是不是就跟我们浏览器所看到的错是一样的,对不对,对吧?OK啊,那所以说好使不好使不好使,那我们下面咱们是不是就可以来拼接一个请求参数了,比如说咱们在这就拼一个u name,然后等于,然后12345啊,或者说叫做al me可不可以啊,可不可以啊,可以吧,好,然后下面咱们在这来重新部署大家看啊。
11:16
好,OK,然后下面我们再来访问咱们的主页面,然后鼠标放上去之后,大家看好使不好使啊,好使不好使,咱们在这直接写一个问号,然后user name等于奥B对不对,对吧?然后但是咱们的这种方式写完之后,它是不是在这会给咱们报一个错是不是对吧?如果说你不想看到这个报错的话,大家可以用另外一种方式去写,就是加一个什么。这个没讲过吗?想过没有,是不是在这来写一个什么小括号,然后里面user name,然后等于order me al me能看懂吧,然后中间如果你要传输其他参数,就加个逗号,然后是password,等于123456,能看懂不好,那这个东西是字符串,咱们就得把它给放在咱们的单引号里边,能看懂不好,OK,大家来看啊,来下面我们在这咱们再来重新部署,咱们再重新访问一下,大家看对于我们的这种写法,咱们的c Le会把它给解析成什么?OK吧,好,刷新,然后大家看鼠标放上去看左下角,大家看是不是问号传参是不是,是不是咱们的get方式传输请求参数对不对,哎,没有问题,OK吧,所以说呢,大家注意,特别是咱们在idea中用similar lef的时候,是不是老是给咱们报这个红线,对不对,是不是这个问题大家解。
12:49
解决了吗?没有解决,那抱着错就抱着错吧,那只要能有效果就行,是不是是吧?好,所以像咱们刚才咱们的问号传参的这种方式,如果你直接写问号是会给我们报错的,好,然后但是他有没有问题啊,没有任何问题,那如果大家不想看到这个错,那我们在这咱们就可以通过一个小括号,然后通过name等于value逗号name等于value的方式传输数据,OK吧,然后在我们的STEM Le对它进行解析了之后,就会自动的转换成咱们的问号传参的方式,能听懂不?嗯,好OK啊来下面,那咱们再来测试刷新,然后点击大家看好使不好使啊,好使,因为我们当前咱们的请求映射要求所能匹配的请求里边是不是必须得有优点内容,那咱们有没有啊,有没问题,能听懂吧,好,OK,那如果说来大家看我的请求映射里面我写了一个。
13:49
叹号,User name啥意思啊?不能有user name来,咱们再来重新部署,大家来看啊。来,然后我们现在咱们再来刷新,大家看好点击之后大家看咋的啦,报错了,报的什么错呢?他说我们当前我们的这个参数的要求里面是不能有username的,但是呢,我们真正的这个请求参数是username等于order me password等于123456,匹配不匹配不匹配,所以说报错400能看懂吧,好OK啊行,那比如说大家再看,那咱们再写一个,我当前在这个地方呢,咱们要求必须得有user name这个请求参数,然后逗号既然是个数组,我是不是就可以来写多个条件对不对,对吧?然后再加上一个双引号叫pass word等于123456,大家说这是啥意思啊,必须得有user name,并且密码必须得是123456,对不对,对吧?好,咱们先来测试一下,大家说。
15:00
不能成功,不可以,因为我们传过来的不就是用户名奥密密码123456是不是好,下面大家看我们现在咱们再来刷新,然后来点击好使不好使,那如果我在这我给它加了一个叹号,密码能等于123456吗?不能好,这个时候咱们再来重新部署,大家来看这个效果,所以说大家会发现咱们刚才讲的value跟method是只要匹配其中一个就行,但是咱们的paras咋的了?是不是两个必须时离配呀,对不对?哎,Paras里面所设置的这些条件必须同时满足,能听懂吧,必须同时满足啊,好来。刷新,然后咱们点击报错能看懂吧,咱们要求密码不能等于123456,但是咱们的密码是123456,不是啊是那如果我在这把456给它删掉一个回车,好使不好使好使。
16:02
能听懂吧,好,然后这个就是我们当前的pers属性,然后通过我们当前请求的什么,通过请求的请求参数去匹配请求映射OK吧,好啊。
我来说两句