00:00
好,那大家下面咱们来看,那大家看好了,你看如果现在呢,咱们来响应的浏览器的是不是应该是一个普通的文本类型,那不就是字符串类型嘛,是不是啊,那咱们字符串类型的话,对于咱们的浏览器,就是我响应回去什么,浏览器是不是应该就显示什么,对不对,那如果我现在咱们来响应回去的是一个对象呢?大家说这样行不行啊。啊,如果我响应回去的是一个对象,可不可以,比如说大家看好我在我们当前咱们的这个Java下面,然后咱们再来创建一个包,比如说这个包咱们就叫做B,可不可以啊,可以吧,好,然后在这我新来创建一个类,然后这个类咱们就叫做U,没问题吧,好,OK,来,首先private啊,这个注解写脱了,就想按这个it键啊,Private,然后string一个user name,好,再往下private,然后string password password,然后再来写两啊,然后age,然后private再来一个street sex能看懂不?好OK啊,好,然后咱们来设置它的set跟get方法。
01:17
来这是有参跟无餐构造对吧?然后下面是get跟set的方法,然后下面咱们再来设置它所对应的什么,是不是有三根无,呃,这个to string方法对不对?来out加insert to string OK,其实在这你不应该设置to string,因为你设置了two string,咱不设置了吧,行吧,哎,不设置,然后大家就能够看到非常明显,你看看咱们的对象能不能直接享应到浏览器,OK吧,好啊,行,然后呢,我们的user创建完之后大家再来看,然后在这呢,我就不想我在这我就不直接返回一个string类型了,我在这儿来返回一个什么呢?看好,我再写一个方法,好,然后呢,咱们这是一个string,然后咱们test叫response,一个优点对象可不可以啊。
02:11
可不可以啊,可以把括号,然后大括号,然后大括号OK,怎么写啊,大家说返回值还能是spring,不,不能,因为咱们说了,只要我们当前咱们加上了咱们的it response body这个注解,那我们当前方法的返回值就是我们要响应到浏览器的数据,对不对,对吧?好,OK,来在这,然后咱们就叫做test response user,好,然后再来添加一个responsibility OK吧,那在这咱们直接一个return new user,然后这里面怎么写,哎。啊,返回值咱们是不是设置成U呀,对不对?好,然后这里面咱们ID来给他个1001,然后用户名给他个a me,密码给他个123456,年龄23,然后性别来给他个答可不可以啊,能看懂吧,好OK,下面大家看好来我们在咱们的主页面中,咱们是不是还要再加上一个啥呀,加上一个超链接,然后咱们的超链接叫什么?叫test response user没问题吧,好OK,然后通过response,然后来响应浏览器user对象,OK吧,大家说它是啥样的?
03:34
大家能不能想到这个会不会给我们直接返回一个阶层对象,会不会。啊,在这样说。不知道对不对啊,那咱们大家大家想一下会不会啊,啊会不会好,首先大家要注意,我们现在咱们来响应浏览器数据的时候啊,然后我们目前,然后咱们只能响应字符串,你只能响应一个文本啊,你说我能不能去响应一个对象呢?那肯定是不行的,为啥你的浏览器认识你的Java对象吗?认识不认识啊,认识不认识,不认识你的浏览器,它压根就不知道你的服务器用的是什么语言,对不对,对吧?大家想想你的HTTP协议是干什么的,那不就是将我们的浏览器端跟我们的服务器端来做一个统一的规范是不是,是吧?好,这个时候跟咱们的浏览器的种类和咱们编程语言,服务器语言的种类还有关系吗?没有关系了,你只要按照请求报文和响应报文给我发送请求和响应,别的我就不管了,大家说是不是好,所以说你的浏览器知道你的服务器语言用的是谁不。
04:45
哦,他不知道,那你说他能接收一个加管对象吗?接收不了啊,所以说他只能接收什么文本,来下面大家看好,我现在呢,来刷新,然后咱们来一个点击,大家看,你看直接报错了对吧,然后直接报错啊,你看他给我们报的是什么错,他说http message就是我们的什么,这是不是应该是HTTP协议,Message是咱们的HTTP信息对不对,然后not write able,然后exception能写不能。
05:20
能写不能啊,不能,为啥?因为我们刚才才说过,我们的浏览器能接收咱们当前的一个优端对象吗?可不可以啊,不可以,那所以说我们需要干什么呢?咱们就需要给它转换成一个相对应的类型了,就比如说呀,我们当前咱们既要来保留我们当前user中的各个数据,我们还要能够正常的将它响应到浏览器,那咱们怎么做?那咱们就可以将它转换为杰森,能听懂不,可不是说咱们的杰森就必须要跟咱们的阿贾克斯一块使用吗?可不是啊,能听懂不?哎,杰森是一种数据交互格式,跟咱们最早的时候咱们学的叉ML是一样的,能听懂不?所以说可不光光是能用在阿贾克斯里面,那再说了,大家想想你的阿贾克斯里面,那不也是把杰森作为一种数据交互格式存在的,是不是,是不是啊。
06:20
那记不记得你可以响应回来一个杰森,你也可以响应回来一个其他数据啊,是不是呀,对不对,对吧,响应一个文本行不行可以,所以说在这儿的杰森仅仅就是一种数据交互格式,OK吧?好,那我们该怎么解决这个问题,那我们分析到这了,那我们说了,我们是需要将当前的用户对象给转换为杰森的,大家说是不是,那怎么来转换呢?我们当前的spring VC中是如何来处理杰森的呢?大家注意啊,好,然后我们要来处理杰森,那咱们就需要去加入一些相对应的加构,因为我们当前的依赖里面有没有处理杰森的这个价包啊,没有,所以说大家来看,我们首先需要加入这样的一段依赖,然后叫做杰克son啊,叫做Jackson来啊,然后咱们把它放到我们的泡沫文件里边,随便找个地方一发就行,是不是啊,好,然后咱们。
07:20
有啊。没网啊。上回就少写了个C,然后我去找到咱们那老师说,说这个登不上去啊。然后他差点就过来就给我整了,幸亏我提前看见了,少写了个C,是呀,就这回去还把我给打了一顿。好,OK,大家看,那咱们现在这个杰克son是不是已经下载过了,是不是啊,好,然后呢,我们在这咱们把咱们的依赖给它打开,大家看好来找到依赖,大家看这是不是有一个,来大家看一下这是不是有一个叫做杰森杠贝B,对不对,大家看他所依赖的夹包啊,有两个,一个叫做杰森杠S,一个叫杰森杠OK吧,哎,啊,所以说咱们要来实现咱们的杰克森的功能,然后咱们是不是需要有三个加包,能看懂吗?哎,需要三个加包啊好,那下面呢,我们就可以,你看我现在是不是仅仅是加入了我们当前这个杰克森的价包,大家说对不对,是不是好OK。
08:43
时间重新部署。直接重新部署。OK吧,好,然后下面大家再看,我现在来一个刷新,然后我们来点击咱们的这个超链接,点击好使了,能看懂吧,我是不是就只加入了一个依赖,然后现在它就好使了,对不对,对吧?好,然后但是大家注意,这个过程可不像是我刚才给大家演示的这个过程这么简单啊,大家要知道我要完成这个过程的话,它需要有几个步骤,它需要有四个步骤,为什么我就加了个依赖它就好使了呢?其实那几个步骤咱们都做过了,知道吧?来给大家说一下什么步骤啊?首先哎,我先问大家,大家知不知道为什么输出的内容是这样的,知道不知道知道不知道知道吧,为啥?因为咱们的user对象转换为杰森之后,这转换成的是个什么玩意儿,杰森对象还是杰森数组。
09:45
杰森有两种格式,一种叫对象,一种叫数组,知道不知道,知道吧,怎么分清楚对象还是数组啊,拉倒吧啊拉倒吧,一会再说吧,这个是阶森对象,一会咱们一块回顾啊,这是阶森对象,怎么去区分,最外层是大括号,就是阶层对象,知道吧啊然后最外层是方括号,就是阶森数组,它不可能是一半大括号,一半方括号,除非你写错了,知道吧好OK啊,这是一个阶森对象,知道吧好,然后呢,我们现在咱们要想来实现,然后呢,自动将咱们的Java对象给转换为杰森,就是将我们当前控制器方法的返回值转换为杰森的这个过程我们都需要什么样的一个步骤呢?大家来看啊,首先你得干嘛?导入杰克son的依赖,能看懂吧好,然后第二步你得干什么。
10:45
八然后咱们得开启MVC的助解驱动,又用到这个地方了,又用到这个标签了,大家说咱们用这个标签是第几次了?第三次,第一次来处理view controller,第二次来理咱们静态资源的问题,对不对?第三次来处理我们当前Java对象转换为JA森的地方是不是啊?哎,已经是第三次了啊好,能再往下在处理器方法上来使用什么注解标识啊,Response body注解标识,再往下将Java对象直接作为控制器方法的返回值返回,就会自动将自动将咱们的加va对象转换,为啥接森格式的字符串可不是直接转换为接S对象啊,知道不可不是接对象啊。再说一遍,本身我们当前咱们的浏览器,它能接收到服务器中的数据,它只能接收的就是啥呀?
11:45
就是字符串能听懂不?所以说再说了,你的Java对象能转换为杰森对象吗?那杰森对象是javascript里面的东西,你能在Java中转为jas对象,不能,不能,所以咱们只能转换为JA层,字母串能听懂吗?来,行啊,好,这四个步骤,这个大家能看懂吗?这俩其实就不说了,为啥以后我们只要响应浏览器数据,那我们肯定就要加这个注解,然后而我们spring VC中的方式就是会把这个方法的返回值作为响应浏览器的数据,对不对,对吧,这个就不说了啊,但是这俩大家要注意杰逊的依赖,还有就是我们当前注解驱动必须要加,你少一个步骤,它都实现不了效果,能听懂吧?
12:33
能听懂吧,哎,少一个步骤都实现不了效果啊,好,OK,这个大家能听懂不?
我来说两句