00:00
来,咱们再举个例子,咱们看一下这个request body这种形式的威力。嗯。我们这儿建一个实体类哈。假设咱们建一个student。我们下边呢,要传复杂对象。啊,有多复杂呢,啊,特别特别复杂。Integer的一个student ID。来一个student name。嗯,先student先来这俩,然后在student里边呢,咱们来一个。Address。这个它的地址,这个地址我们把这个类给它建出来。啊,这叫级联对象。啊,然后他是province。省。
01:00
是,然后呢。街道,哎。来午餐过早。嗯。呃呃,有三个的。兔子润发了。哎,然后这边是这个小盖菜方法。这是address啊。这个address有了,下一步呢,咱们再来一个subject list。哎,这个例子里边放的还是一个,还是一个,这个叫湿的类,哎。咱们把这个类整的,嗯,特别复杂。嗯,Subject呢,比如说这是科目啊,一个科目的。名称。
02:02
一个是这个科目的。呃,成绩。类型就无所谓了,贴着就贴着吧。现在考驾照得考四个科目了。五个。科目一是交规,科目二是啥?倒库。科目科三是那个上路,科目四是那个文明驾驶。科目科目还有科目五吗。你们你们,你们有你们有驾照吗?这么厉害?这么厉害?来,我们再来一个map。
03:03
嗯。这个也我也想不起来叫什么名呢。哦,对了,可以来一个。对school无所谓啊,就。嗯。无所谓吧,这个这个只是举个例子哈,所以说这边。嗯。就是你按的多了,就你也就就就会了,将来我们还学一个技术呢,还学一个技术,就这些东西就不写了,写注解。加几个注解,这些东西就有了。就是所以说你看这个。呃,一个新技术,你还就是一个你新学一招,你觉得新学了一招,你还没捂热呢,然后就又学新的了。Responsibility。Request mapping。
04:00
哎,这个叫做,嗯。Ther。复杂,复杂,怎么说compose?Object。先还是点睫毛吧。我对自己的英语水平刮目相看,我居然会写这么这么复杂的单词。Student。哎,当然这个时候这儿也是加request body哈。然后呢,这个咱就student打印一下吧。啊对这个logo吧,咱们应该放在上面去哈。应该放外边。他外边。是不是应该给他一个静态啊。好吧。
05:03
呃,咱们info一下啊info,嗯。这边就是,嗯。就掉,那就掉一下兔子正方法就得了。然后这边返回一个success。这是handler这边,然后GS这边呢,再写一个按钮。嗯。发送复杂对象第四个按钮。重新写一下吧。BTN4。Or click?嗯,首先呢,先准备一下要发送的这个数据。这回呢,我们要发送的是一个对象啊,Student。
06:03
这个对象这个咱们得对照着这个写哈,得对照着写啊,他他肯定他得一致,不一致你肯定这个就发送不过去了。啊,这个属性,属性这边student ID。嗯,比如说五哈,下面来一个student name。再往这边点。Student name name,来一个汤姆。嗯,然后address。Address呢,它又是一个对象。这里边呢,去找address province。行。广东省。有一首歌叫广东爱情故事。我也很喜欢。深圳。
07:02
然后street。要写个后缀啊。中。宝安大道,没错。这是address。然后下一个是subject list。那么这时候它是个数组。哎,所以先写个方括号表示这数组,数组里边是对象。哎,这里边儿再来一个大括号,哎,Subject name。对,就是故意就整个复杂对象啊,我们去看一下request body的这个威力。嗯,比如说呢,你呃,Java SE。啊,然后这个分数。100份对吧。
08:04
你的这个SM。哎,99分啊。好,然后呢,下边这个map。Map它就是对象呗,就是建筑队嘛,K1。V1。嗯,K2V2有有俩有这么个意思就得了哈。这个对应着。哎,咱们就准备好这个复杂对象了。你想这么样一个复杂的对象。如果我们。不,不直接传这些数据,如果一个一个传过去的话,这个我们就疯了。啊,所以说呢,这个就一定基本上可以说一定就是得按照我们request body这种方式去传啊,所以说第二步呢,我们要将杰森对象转换为杰森字符串。嗯,Word一个,这就是我们的请求体等于j.string if fy。
09:07
哎,把这四九的缠进来。下边发这个Ajax请求。点aja。我这儿就这就不写这个注释了哈。直接咱们就直接写了URL。哎,我们handle这边这个地址叫啥来着。Type请求方式。还有这个data。就是request body。嗯,然后呢,得告诉服务器我们这边。
10:01
请求的内容类型,Applicationson char set等于uf钢板。再然后呢,Data type。哎,服务器端返回的,我们就当个文本。Success。Error。这边就alert这个打印一下。吆喝吆喝。啊。啊,对对对对。太棒,我拿什么感谢你?
11:04
来跑一下试试啊。啊,这边行没报错哈,然后看发送的这个请求体哈。哎,就是说。就从这儿看,这都是这么大一片啊,这这么大一片的这东西。你全展开的话,这个还挺挺挺壮观啊,这个复杂对象啊,这是我们的复杂对象。嗯,我我们对,然后现在看一下这个控制台的这个打印哈。
12:02
这个在在在这哈,从这开始,Student。这一串啊,这个我们粗略的一看,这个数据都接收到了就好了啊,数据都接收到就好了。所以说呢,如果我们将来开发一些个比较复杂的功能,然后有一些比较复杂的数据需要来回的传递,那这个时候呢,呃,Handleler方法接收复杂的,这接收的话就是request的body,它返回的话就是response body啊,这两个注解配合起来去使用。哎,就是这个,嗯。发送复杂。对象。浏览器开发者工具看到的请求体。
13:02
然后呢,我们几块代码。啊,在这。嗯,然后呢,下一个是handler代码。嗯,就是你看这个前前端写的挺费劲,这个后端直接就接受了哈。很凶啊,很凶残。
我来说两句