00:00
OK,来我们接着说,那么现在的话,我们已经知道了如何去啊对这个再进行一个处理,那么接下来呢,就来给大家去说一下,诶,你加上这个注解或者说呢啊,你这个处理JA,它这个底层的一个实现原理是什么啊,我们来回到我们的word里面,好给大家去说一下啊呃,那么其实呃,他对这个Jason的一个处理呢,我们主要是用到了一个这样的一个对象啊,叫做http message啊用到了这样的一个对象,那么呃,他是做什么事情的呢?来给我听我讲,呃,首先呢,他是这个SUPPORT3以后新添加的一个接口,他主要负责两件事情,第一件事情呢,就是把这个请求信息转换为一个具体的加va对象。第二件事情就是把一个Java对象,然后呢,输出为一个响应信息,什么意思呢?就是比如说大家听我讲,这是我的一个请求阶段,这是我的一个响应阶段啊,那么这是我的浏览器端,能明白吧,然后呢,这个是我的,诶这个po Mac就是我们的服务器端啊,就是这个point Mac版它的这个handle了,你从浏览器端你发送一个请求,那么这个过程中我们都是一个请求数据,那么在这个过程中呢,诶我们的这个message convert呢,它就会把你的请求数据给你转换成一个具体的Java对象,那么你就可以在这里面去使用了。
01:28
而我们在这个破Mac中处理完的那个Java数据啊,处理完的Java数据就是Java对象呢,你是不可能直接把它扔给浏览器的去使用的,所以说呢,我们可以使用一个message口卧还是使用它把这个Java对象呢,给它转换成一个响应数据,然后呢就可以写给我们的浏览器团,所以说呢,它主要就是作为一个message convert,就是一个数据转换的这样的一个过程的啊,那么我们来看从这个图上面呢,我们再来给大家去解释一下啊,大家来看这个图,这个这是我们的请求,请求过来以后呢,首先这是我们的请求数据啊,叫做input message是我们的请求数据,请求数据呢,就会根据我们的message convert去转换成具体的一个Java对象,那么你就可以在ma中去使用了,当我的SPA Mac把这个数据处理完成以后呢?诶,它是一个Java对象,我也要通过这个message口合成,把它转化成一个响应的一个信息,看到没有,叫做uput message。
02:29
然后呢,最终的话呢,诶就给到我们的浏览器端,那么它就是一个响应报文,所以说呢,它充当的一个角色就是什么呀?诶在请求的时候给你解这个转换一次,在响应的时候呢,我也给你做一次转换,主要就是来负责这样的一个工作的。能听懂吧,诶就首先呢,我们要明白它的原理啊,然后呃,它是一个接口对吧,那么我们在使用的时候呢,就不可能直接去使用它,而是要去使用它具体的一些什么食材类,能明白吧?哎,具体的一些食材类啊,我们来看看它有哪些食材类呢?哎,还是比较多的,你看一下有有这么多食材类。
03:07
啊,然后呢,呃,我们不需要去记哈,不需要去记,听懂了吧,不需要去记啊,每一个是干嘛的?但是我们需要知道的一个问题就是什么呀?呃,这个message convert water呢,它是在我们的dispat solve later呢,它会装配一个request mapping handler adapter,它会装配这个组件,这个组件呢,又会装配我们的message convert water这个一个组件,而这个message convert water里面呢,它会默认装配上六个,就是我们的消息转换就是这个message,可就是装配六个,具体的时现类零到我们不是六个吗?对吧,这是默认情况下,但是当我们去加入了这个Jackson的加包以后呢,他在再会什么呀?额外的去装配一个,你看一下从零到六变成七个了吧,其中额外装配的这一个叫做什么?Myping Jack to http message converter,就是这个家伙帮我们进行了摘数据的一个处理,能明白吧,就是他啊,就这个。
04:07
的消息转换,帮我们进行了在线数据的一个处理啊,那么这个的话呢,我们需要给大家去啊,做一个简单的一个验证啊,来回到我们的这个开发工具中,我们来看一下,因为现在我这个工程里面大家注意哈,我这个工程里面是不是已经加入了这个Jackson的加包了,对吧?好,那我们先来看一下昨天的这个工程,这个里面是没有加加成加包的吧,对吧?好,那么我们就可以来注意,我把它部署到我们的服务器里面。啊,我要这个debug启动一下,我们需要看他的这个源代码啊,啊来,我把它debug启一下。停一下啊,先停掉,停掉以后呢,我们来debug启动。
05:01
好,来启动以后的话呢,我们来访问一下啊,这个显示所有的呃,员工啊,那么访问他的时候呢,我们来先提前进来啊,我们给他加上个断点,你看了哈,显示所有的员工信息列表就在这儿吧,我给他搞了个断点,看到没有,OK,那么这样的话呢,你看我一访问哎,他就停到我们这个断点的位置了,好进来,进来以后我们看谁呢?啊,你不要去具体读它的源代码,我们就来看这个dispa solid啊,我们刚刚说过啊,这个dispa solve呢,它会去装配一个request might handle adapter,也就意味着在它里面呢,我们能看到这个,好,这次就是这个dispa solve啊,在这个对战里面呢,我们能看到一个handler adapter,看到没有,对吧?在这个handler adapter里面呢,有一个request handle adapt,你看到没有,是它呀,对吧?而在它里面呢,我们再展开,我们就能看到一个message convert,就是我们的消息转换,看到没有在这个位置,这是不是message convert。
06:02
啊,然后你展开你看一下是不是012345,总共有六个message吧,对吧,具体有哪些呢?你不用去管,你就记住总共有六个,就是默认的情况下装配的好,那么当我们注意了啊,现在我来去访问我的诶今天的这个工程啊,比如说TJA,那我就回到这个位置,把这个TSJA生里面的我也加一个断点,那么这样的话呢,注意这个先放心了啊。好放心,然后呢,现在呢,我在这个加跑哪去了,在这是吧,哎,不是这个啊,你看我在恰加上这个位置呢,也加了一个断点,那么加上断点以后呢,大家注意我来访问它走。好,你看这个断点是不是已经停到这了,对吧?啊,这个断点已经停到这了啊,OK,那么停到这以后呢,我们看谁呀,我们还是去看这个Dis solve对吧,杜底PA里面来看这次,这次里面的话呢,诶,我们找谁呀,找这个handler adapts,在handler adapt里面,我们找request adapt啊进来,进来以后呢,我们去找这个message啊,在message里面。
07:24
你这不科学啊,是不是没访问到啊,稍等一下,我停一下啊。呃,我加的是他吧,这是我们的零三里面的没问题啊,加上断点刚才是不是没访问过来就是吧,来重新来一下啊,来重新给八个启动一下。好,启动一下呢,我们再去呃访问一次啊,来点一下找一下,哎,这才对是吧?啊猜猜他现在应该停到了什么地方了啊,应该是停到这了吧,诶咋还没停到这,停到这个地方了啊好,这样吧,等一下啊,这可能是两个工程有有冲突啊,我把刚刚演示过的这个给它干掉了啊,刚才的那个记住了吧,就是没有加加加包的时候,来接下来我们演示加了这个Jackson加包的这个情况。
08:29
啊,来我们来访问一下啊。找一下。这个是哪个的。嗯,803的了啊,应该是它了,没问题了啊来,那么现在的话呢,我们,呃,他停到了这个do底PART940五行,因为什么呀,因为我这个里面是有它的断点的,大家看一下九百四十五行是不是加过断点的呀,对吧,说他停到这是很正常的啊,那行吧,那你就停到这,停到这以后我们再来看一下啊呃,在这个刚才呢,Despite s里面有个这次这次里面呢,我们找到handle adapt在它里面呢,找到这个message啊,我们再来看一下message,可诶现在我们就能看到了,总共有几个,哎,你看了哈,0123456是不是总共有七个呀,其中呢,就多出了一个叫做mapin Jackson to http多出了一个他,而他就是来帮我们去负责这个摘数据的一个处理的,明白了吗?所以说大家把这个知道一下就行了啊,就知道什么呢,知道一下我们这个摘处理的时候,主要是用了一个message。
09:39
而且这个消息转换这个家伙听懂了吧,把这个大家知道了就可以了,这就是它底层的一个原理啊啊那么这个说完以后呢,还是要给家去说一下这个message convert water,我们在用的时候呢,哎,其实它支持了这么几种方式啊,就是啊,我看这里面有没有列出来啊,这里面没有列出来啊,那我就直接给大家去说吧,呃,我们刚刚用过一个response body这个注解吧,对吧,那么其实呢,它还支持这个request body注解,还有什么HTTP以及什么response这些呢,它都是支持的,那么呃,接下来呢,给大家再去讲一个扩展性的东西,就是我们其实是可以使用这个message convert呢来完成一个下载的操作的,明白吧,接下来我们就把这个功能呢,简单给大家去演示一下,然后呢,大家也知道一下,如果你想做一个下载操作的话,应该是怎么去做的,我们可以通过它来去完成,听明白这个意思了吗?OK,来吧,接下来我们就去写它啊啊。
我来说两句