00:00
好,那我们现在咱们已经学习了SPVC中的这个三种视图,那结合我们之前呢,然后咱们学习过的这个叫做获取请求参数网域对象中共享数据,还有呢,咱们通过视图来实现转发和重对象的效果,那我们现在是不是就可以来完成一个请求的完整的处理,对吧?好,那我们先来学习rest rest of,学完之后呢,咱们就做一个比较完整的增删改查啊。好,那什么叫rest,叫它叫做rest风格啊,这是一种开发风格,所以说我们以后呢,咱们这东西其实是可以用也可以不用的,就比如说我们没有学习它之前,我们是不是照样可以来实现对请求和响应的处理,对不对,完成服务器跟浏览器之间的交互,那但是呢,咱们现在互联网上用的比较多的啊,其实就是咱们的restful,好,那什么叫做restful,叫做rest风格,什么叫rest呢?叫做表现层资源状态转移,然后下面咱们的这些描述呢,其实都比较抽象啊,所以说咱们直接就跟大家说这个东西的到底是什么意思,我们该如何去使用它就行啊。
01:06
好这个,呃,这个rest呢,它是我们当前对服务器的,它它是我们看待服务器的一种方式,然后我们之前呢,咱们学Java的时候,咱们是不是都说了叫做一切皆对象,万物皆对象,然后那我们现在呢,咱们对于我们的rest这种风格来说呢,就是我们看待服务器的一种方式,我们把服务器中所有的内容呢,全部都看成是一种资源,叫做一切接资源。OK吧,叫做一切皆资源,大家看啊,然后每一个资源呢,它都是服务器上一个可命名的一个抽象,抽象概念,所以说这个东西它是比较抽象的,但是那具体到底什么是这个资源呢?比如说我们的一张图片,咱们服务器中的一张图片,一个音乐,对吧?然后呢,到一个文件,然后到我们数据库中的一张表像,这些全部都是资源,OK吧,哎,全都是资源啊,好,然后呢,所以说我们现在咱们该如何来表示这个资源,那我们就需要干嘛了,那我们就需要通过一个名词来表示,其实就是这个资源的名字,大家可以这样认为。
02:11
就比如说我去一个班级里面来找一个学生,对吧,我要通过这个名字来找,然后那我要在服务器中去寻找一个什么,寻找一个资源,那我也是要通过这个资源的名字去找,至于这个名字该怎么去起,那就是我们自己去起的,就比如说呀,然后我们现在要来访问的是我们服务器中的用户资源,那我们就可以给它起个名字叫做user,大家注意啊,比如说我们当前的路径,咱们就叫做user,叫做user,这就是我们当前给我们的用户资源所起的这个名字,那为什么我要把它给写成是一个路径的方式呢?那大家想,那我们当前咱们的路径是请求路径,我们当前的请求是不是就是通过咱们的请求路径,然后来访问服务器中的资源的,那所以说我要访问什么资源,那我是不是就要把它给体现到我们当前的路径中,我在路径中来表示我当前的这个请求,到底要访问的是服务器中的什么资源,OK吧,所以说大家想,那我们。
03:11
现在既然是面向资源的,那所以说我们管不管你对资源到底要进行一个什么样的操作呀,不管,我只要知道你具体要操作什么资源就行,比如说我们现在不管是查询用户信息,还是添加,还是修改还是删除,那我都是来操作用户资源的。那所以说我在我的请求路径中,咱们是不是就应该把我们描述在服务器中,然后咱们去描述这个资源的名词给写上,那我们是不是就可以来表示我现在要来访问的就是咱们服务器中的用户资源?这个大家能看懂吧,这个大家一定要注意啊,好,然后我们当前咱们所以说在我们的rest里面,它就要求我们什么,咱们访问的资源是一样的,那我们当前的访问路径就是一样的。咱们当前的访问路径就是一样的啊好,然后呢,我们再往下看,那我们对每一个资源,咱们是不是都有一种不同的操作方式,比如说咱们的资源,对资源的查询,对资源的修改删除,还有添加对不对?好,那我们现在既然访问同一个资源的路径是一样的,那大家说我们现在咱们该如何表示你对资源不同的方不同的操作方式呢?
04:23
对不对,然后这个时候我们就可以用到咱们的四个什么呀,表示操作方式的动词,其实就是咱们的请求方式,Get post put delete get呢表示我们来查询资源,来获取资源,Post表示我们来新建资源,Put表示修改资源,Delete表示删除资源。所以说我们现在大家看好,比如说我们来访问同一个资源,咱们的路径都是user,然后如果我以get的方式来发送,那表示的是我获取用户信息,如果说我在这以post的方式来发送请求,那表示我要添加用户信息,如果说咱们用put表示修改用户信息,如果是delete表示的是删除用户信息,这个大家能听懂吧?
05:08
行,所以说它跟咱们原来不一样,你看我们原来咱们是怎么设置的,大家看啊,那原来我们查询的操作,这可能是咱们的路径叫get u by ID,咱们在路径中是不是来设置的,有我们该访问哪一个资源,然后还有就是我们该当前该如何操作这个资源,但是我们现在是面向资源,然后来进行访问的,所以说我们的路径统一就是什么,你看全都是user。能看懂吧,只不过我们当前的请求方式不一样,如过我要查询我是不是请求路径是user,然后呢,咱们在这再给他发送一个get请求就行,那至于我们后边这个一是什么,大家注意,你看咱们在这有介绍啊。他说我们的rest风格提倡我们URL地址来使用统一的风格设计,从前到后各个单词之间来使用斜杠分开,对不对,这也是我之前跟大家说的,如果我们现在咱们的路径中,你要用一个新的单词,那咱们就不用再用什么大写字母什么的了啊,咱们直接干嘛,直接用我们当前咱们的斜线把它分开就可以知道吧,好,然后不使用问号键值对的方式,然后携带请求参数,就像是咱们在这儿,咱们是不是就通过问号,然后ID,等于一把ID传输到服务器中,但是在咱们的rest风格里面,咱们怎么传,是把我们当前咱们的请求参数。
06:32
然后来作为路径的一部分传输过去。这种方式大家都见过吧?我们之前咱们在讲request mapping里面,然后呢,咱们这个请求路径中的占位符的时候,咱们是不是就跟大家说了呀,以后我们的rest中,咱们怎么传输数据啊,如果说我们我没有数据的话,我们是不是就可以干嘛把咱们当前的这个数据啊,拼接在咱们的请求地址中。有他老师这不也是拼接在请求地址中吗?
07:01
不是啊,这问号前面是地址,问号后边是数据,能听懂吧?所以说咱们在这不用问号来传,我们怎么传,然后我们是把咱们当前的数据以路径的一部分拼接到咱们的路径中的,那至于这个数据咱们该如何获取,大家应该都知道吧,对不对?咱们之前讲这个路径中的占位符,我们只要在request mapping中来设置它的value属性值的时候,用一个占位符来表示它,然后我们再通过咱们的it pass variable,然后是不是就可以将咱们这个路径中的占位符所对应的值,然后跟咱们的行参进行绑定,对不对啊,这个大家注意啊。好,然后以保证整体风格的一致性,好,下面咱们再来看,你看保存操作叫c user,对吧,路径同样是user,咱们的post请求方式,然后delete user,问号ID等于一,那我们现在在rest风格里面,咱们怎么写user斜线一只不过咱们要把请求方式给设置为delete,然后更新操作的话,咱们在这是update,对吧,Update user,然后我们的请求路径仍然是user,但是咱们的请求方式要设置为put。
08:12
好,所以说大家要知道什么是rest风格,其实就是面向我们当前服务器中的资源来进行访问,我们要把我们当前咱们访问的这些资源以名词的方式,然后来设置到我们的路径中,在路径中来表示我们当前要访问的资源,同时要把我们需要传输的数据啊,然后也作为路径的一部分,然后拼接在咱们的路径中,设置在咱们的路径中就可以啊好,但是呢,我们现在既然访问同一个资源,咱们的路径是一样的,那我们是不是就要通过不同的请求方式来表示我们对资源的不同的操作方式,比如说get post delete put,然后对应的是咱们的查询,新增,还有删除,还有修改,OK吧,行,这个大家注意。
09:00
那比如说呀,我们现在咱们可以来把咱们的百度打开对吧,然后打开之后咱们来搜一下这个restf ul叫做rest对吧,然后咱们来找到咱们的百度百科,大家看你看啊,不是让大家看这个百度百科里面的介绍的啊,是让大家来看咱们上面的这个路径的,其实这个路径大家注意它就是什么,它就是我们当前的一个rest风格的路径。比如说你看这都是通过斜线,然后来进行分隔的,对吧,然后你看啊,我在这直接来搜索一个Java之后,大家看你看谁变了,前面咱们这个路径变了没有没有,那说明我们当前咱们来访问,咱们来访问服务器中的资源,同一个资源,然后百度百科这个资源,然后我们的路径是一样的,只不过就是我们当前在这传输过去的数据不一样啊。对吧,咱们之前在这是rest,现在是不是变成了Java,对不对,这就是我们往服务器中传输的数据,然后传输到服务器之后,咱们是不是就你看我们是不是就可以通过咱们这个路径来表示我到底要干什么,对吧?然后我要访问的资源是什么,对不对?然后再经过咱们的服务器来解析这个路径,然后将我们当前咱们的资源,服务器中相对应的资源,然后为我们响应的浏览器。
10:18
这样的啊,你看下面咱们再写个7S,大家看一下,你看在这前面路径是不是还是没有变化,只有我们后边传输过去的数据发生了变化,Javascript OK吧,行啊,好,这是咱们的这个rest啊,Rest of风格,然后呢,虽然说这是一种风格,咱们可用可不用,但是大家注意,我们这个目前市场上用的比较多啊,这个rest rest风,Rest风格呢,然后我们目前市场上用的是比较多的,所以说大家一定要知道它是什么意思,大家一定要知道他该如何去写啊,对吧?访问同一个资源咱们是同一个路径,然后我们现在呢,要通过不同的请求方式来表示我们对这个资源不同的访问方式,操作方式,OK吧,行啊。
我来说两句