00:00
啊,那接下来呢,我们就把这个啊rest啊给大家呢说一说,呃,那么刚才我们在讲这个占位服的这个URL对吧,那么其中呢,我们就看到了啊,这是这个point mvc是吧?像这个rice的目标挺定啊,这个还要具有里程碑的一个意义是吧,说明这个东西还是特别重要的,那么我们提到这个它到底是什么呢?我们现在呢,就来给大家去说一说啊呃,在说这个rest之前呢,现在给大家去呃声明一下啊,就是对于我们来讲,其实这个rest它基本的一些概念我们了解就可以了,明白了吧,然后呢,呃,像它这个里面的东西啊,比如像这一堆描述这些东西,你们大概的去看一看就行了啊跟我们其实没有太大的一个关系,但是我们要知道的是什么呢?就是rice的风格的这个URL应该怎么去写啊,这是我们需要掌握的一个重点。能明白吧,所以说呢,我们在讲这个rest这个话题的话呢,就是他基本的一些概念,以及是他怎么去设计的啊,这些东西我们是不会讲的明白吧,就是感兴趣的同学呢,来你可以看这个地方啊,有一个参考资料,就是你可以啊在这个有网的情况下啊,去看这两篇帖子啊,这两篇帖子呢,它这个介绍的都特别详细的啊,你可以看看这个rest到底是个什么啊,呃,那么其实他这个翻译过来呢,就是一个啊表现成了一个什么状态转化啊,是目前最流行的一种互联网软件架构,为什么特别流行呢?因为它有这么几个特点啊,就是结构特别清晰,然后呢有一定的标准,那么有了标准以后呢,就易于扩展啊,也理解起来呢也方便,然后呢,特别啊支持这个扩展性特别好,然后呢,得到这个越来越多的这个网站的一个什么采用啊,这就是我们这个rest啊,它的一个什么基本上的一个概念,然后像下面提到这个什么资源对吧,什么表现成什么状态转化啊,这个下去以后,你们自。
01:58
Can catch you。能听到吧,自己去看啊,那么现在我们在这里面呢,主要是看这一句话,就是具体来讲的话,在HTTP协议里面呢,其实它有四个表示操作方式的一个动词,就分别是get post put以及delete,然后呢,这几个词呢,分别对应着我们四种基本的操作啊,像我们的get用来获取资源,Put用来新呃稍post用来新建资源,就是我们的添加,然后呢,Put呢是用来更新资源,然后delete呢就用来我们的删除资源,什么意思呢?就相当于人家HTTP是这么来说的,如果你想去做真商改查操作,那么你应该要按照我们具体的请求方式来去做,比如说你要添加一个资源,那么你应该发送一个post请求,你要删除一个资源,那么你应该去发送一个delete的一个请求。
02:53
所以说呢,在这个rest里面呢,人家更关心的是你的动作,就是你具体的这个请求方式。
03:02
听明白了吧,哎,更关心的是这个东西啊,呃,那么这个地方我们提到了,总共有四种啊,这个请求方式啊,就是我们的get post put以及delete OK,那我们就来看一下,呃,我们使用了这四种请求方式来结合上我们这个rest的这个风格的URL来讲,我们将来去做一个正删改查,我们的请求应该是这么去写的,比如说我们现在拿一个订单来举例子啊,我想查询ID为一的这个订单,那么我们要发送的就是一个order,然后一看到了吧,哎,我们发送一个order的一把这个斜杠删了吧,啊,我们就一个相对路径就可以。好,我就发送一个AL1,呃,但是的话大家注意啊,呃,我现在就光看这一个请求来讲,诶其实我能知道啊,这就是一个查询,但是你注意了,我还是要去删除一个ID唯一的订单,那我也发送一个奥一。这个order就是我们的一个什么URL,而这个E呢,其实它就是一个ID,那么接下来我们来看,对于他们两个来讲,URL是一模一样的,但是呢,他们的功能是不一样的,那么我们在这个后台怎么去区分哪一个请求具体是查询,哪个请求具体是删除呢?我们就必须得去看一下你这两个请求它的请求方式是什么。
04:19
所以说呢,你单纯的看URL,现在呢,其实已经区分不出来到底是什么了,我们必须得结合上它具体的一个请求方式啊,这个是一个查询的过程,这个是个删除的过程,这个是一个更新,这个是一个添加,我们就不仅仅要关心URL,还要去关心我们的请求方式。明白了吧,那么像我们现在写出来的这种UI啊,大家就来分析分析,首先它是特别你看啊,刚刚说到的结构特别清晰,我们一看这就是对order的一个增删改查操作,然后呢,它有一定的标准,什么样的标准呢?就是我们在写的时候呢,我们不会随随便便去写,都会按照一定的格式去书写这个URL,能理解吧,按照一定的格式去书写这个URL啊,那么对于这个啊扩展性方面来讲的话,我们一会儿呢,再给大家去说啊,他是怎么去扩展的,那么其实呢,就要给大家去提到一个我们这个,呃,开放平台这样的一个概念啊,开放平台这个概念,那么一会的话呢,我们在最后总结性的时候呢,再来给家去说一下这个开放平台这个东西,那么再来给大家去说一下这个扩展性好吧,呃,所以说呢,现在我们要知道的就是我们再去发送这个请求的时候,只要你是基于rest的,好,那么你就必须得关心你的请求方式。
05:42
那明白了吧,那么我们要记住的就是总共有这四种请求,分别对应我们的正三改查啊呃,但是啊,大家需要注意有个问题,什么问题呢?就是对于我们现在所学的技术来讲,像这个HTML中对吧?你来想一下我们能发送请求的几种方式,无非就是超链接对不对?Form表单是吧?还有一个就是我们的啊,这个adjust是不能发送请求的,对不对?OK,那么对于这是一种技术来讲的话,我们发过get,发过什么呀,Post,但是呢,对于put跟delete来讲,我们是没有发过的。
06:25
嗯,对不对,甚至于今天我不讲这个,你都不知道有这么几种请求是吧?啊不知道也很正常,因为这是HTTHTTP里面的东西,就是网络层面的一些东西了啊,这个的话,大家这个现在要什么知道一下啊,OK,那么现在的问题就是什么呢?我们现在没办法用我们现有的一些技术呢,去发送这个push或者是delete的请求,那么这就是我们所遇到的一个问题。啊,那么这个问题怎么去解决呢?我们就需要通过一个诶过滤器来去解决这个问题,明白了吧?诶需要通过这个过滤器来去解决,先简单的给大家去讲一下这个过滤器的一个工作机制啊,就是我们从我们的浏览器端,我将来呢,可能会发送四种请求,明白了吧,那么这个请求最终的话呢,它肯定是要去往我们的dispat som,最终呢,在去往我们具体的一个什么handleler,就是我们的请求处理器,这个流程现在是能明白的吧,OK,好,那我们就来想,因为我们浏览器端没法去发送这个put跟delete啊,所以说呢,我们只能在浏览器端呢发送两种请求,一个是get,一个是什么呀?诶,Post请求,但是我希望诶等它到达这个dispa solid,等他到达这个handle的时候呢,哎,我就希望你的请求是哪四种了,所以说呢,我们就得想个办法,那我能不能在这个过程中。
07:50
去把你这个请求做一个转换呢。是吧,我们基于这样的一个想法,我们就提出了一个过滤器,为什么使用过滤器呢?因为我们讲过过滤器它的执行时机是在solve之前的,所以说我就可以在这个位置加上一个过滤器,然后呢去进行请求的一个转换,虽然说你从客户端发送的还是get或者是post,但是呢,我我来到这个位置的时候,我就可以选择性的把你的请求做一个转换,转换成对应的步,或者是delete,然后呢,再进入我们的PA solidage,再进入我们的handle的时候,它就已经是我们想要的那四种请求了。
08:32
啊,先把这个工作机制呢,简单给大家去说一说啊,这是我们提到的一个过滤器,那么接下来呢,我们在使用具体的这个rest之前,我们先把这个过滤器给大家先分析明白啊,它的这个工作机制,以及它底层的这个源代码,我们把这个呢都给大家去分析一遍,然后等这个分析清楚了以后,我们才能真正的去使用我们的rest来去写一个简单的一个正常改查操作。明白了吧,OK,所以说接下来我们就来这个过滤器啊。
09:04
嗯。
我来说两句