00:00
各位,刚才呢,我们完成了基于编程式模型方式实现web black操作,包括在对应测试也看到了它的效果,那我下面呢给大家再来讲解一种就是调用的方式,因为咱刚才进行这个调用操作,咱是不是通过浏览器做到的,而现在在我们这个艾里边提供了另一种方式,云实现这个调用,这种方式叫做web client,所以下面给大家讲解就是在里边我们如何使用这个叫web。可赖头。进行这么一个调用,把这个给各位做个说明,其实里边就一段代码,通过代码咱也能实现这么一个调用,那我下面通过代码给各位直接咱做个演示。那怎么演示我写一下啊,首先这里边有一个小细节,就是这个细节刚才我提到了。就是现在呢,你看啊,这个地方我是用了一个叫Fla map,就是我们现在这种场景中,我就直接这么写,这效果也能做到,就是咱为了这么写,然后大家把我们刚才讲那个操作符给各位做一个熟练,你把这个代码换成这种写法,效果是一样的,没有什么本质区别,各位可以自己去动手操作一遍,我就不去演示了,因为这个咱通过不同效果用了不同的方式把这代码给各位都写出来了。
01:21
然后下面咱们讲解另外一种调用方式,这种方式叫web climb,那怎么做,给各位写一下啊,首先里边呢,比如现在我就建个类,这个类我就叫这是一个类,然后在类里边呢,我现在写一个main方法,在main方法中再做操作,那怎么做?第一部分咱先创建一个web。我们先做个创建。那这个依赖引入,然后大家看依赖是在这个react里边这个web client做调用,然后怎么调用,咱调这个web坎里边有一个方法,哎不是这个方法,它的方法调这个可。
02:04
在可以里边加上你要请求那个服务器的这么一个地址。比如现在我们来一个HTP冒号杠杠,然后咱加一个就是127.0.0.1,或者说local耗子再去请求我们刚才这个伏,给这个伏我重新启动一下啊,就是大麦进行一个请求。啊,这个啊,这个改的错误先去掉啊,咱重新给它启动一下啊。把这个先启动。因为我现在没有指令,我们用一个随机的啊,但是它调用都是一样的,现在用的是叫5794,我这位置就来写上端口号叫5794,这是里边的第一部分,指定你要调的是哪个服务器,包括它的地址。以调用服务器的地址,包括最后创建,然后做完之后,下面咱就开始做这个调用,比如咱现在我就以这个根据ID查询为例,别的都一样,那怎么做?比如现在做法就是咱们先写一个参数,因为这个ID查询有一个值,比如这个值我们就来一个这么一个一。
03:17
然后选完之后,下面咱调方法,在看里边我们调这个方法,咱就加一个get,因为它有不同挑方式,你看有很多,而我们现在查询用的是get提焦这个方法,然后大家看它后面再加个方法叫uri。这方法什么意思呢?给各位说明,在这里边呢,我们加上两个参数,第一个是你请求那个路径,就咱请求路径是什么,就是我们刚才写那个路由路径,然后第二个是你传的那个参数,咱参数是ID,那路径刚才咱们写到我们根据ID查询是不是那个users ID,所以咱现在把这路径写过来。就这位置。
04:00
这个位应该很清晰啊,就这么一个结构,然后写完之后,后面加一个方法叫accept,咱写过指定你现在接收的是什么类型,咱类型是这个application。Jason。是media type中的这个Jason,然后写完之后,后面这里边我们可以就是得到里面那个相应的处理,比如来一个叫。写一个方法叫这个。Retri啊,就给它做一个初始化操作,包括里边得到你那个数据,数据我们叫body to model,在里边加上你返回类型的class,类型叫user.class。然后最终加上这么一个叫做block,诶,写错了啊。然后里边加上一个叫user.class啊这么一个结构。把这依赖引入,然后写完之后,最后我们来一个叫block,让它做一个运动执行,然后执行之后,最后咱们把它可以做一个输出,我们来一个这个。
05:06
system.out啊,然后它有一个返回类型,就是我们这个user,比如我叫。Users user result啊。咱把user result最终做输出,所以这个是我们用客户端做一个调用,这结构给各位再说一遍,什么意思啊,首先创建web client这么一个对象,里边指定服务器地址,然后创建之后咱们发送请求,你是get啊,还是posts,但是get指定路径,包括参数这行之后接收类型,包括初始化,最终得到你的数据,因为数据然后变成这个对象,用这个body to model,这是它里面的一个对象,然后把对象最终我们做个输出,比如现在这里编译输出可以得到它的值,比如我就把它那个。Name做个输出。这样的话,咱就把这个客户端的调用方法我们就写出来了,然后写完之后咱们把它执行就调一下,看一下里边的结果什么样的。
06:06
然后咱们啊,看他的这个输出,大家看啊,这里边出了这么一个问题啊,咱看他的问题是什么问题啊,我们来解决一下啊。然后咱们看啊,这里边他报了一个错,咱看他报的什么错啊,咱们观察一下啊,首先这里写到。他这里写到说我们现在。Cannot con con是不是有那个构造引说这个实例有这userity对象,它现在不能创建,那家看什么错啊,咱就找一下这个右侧这个类。咱看到我说各位是否能看到问题啊,我们现在右侧内容是不是有一个有参的构造,但是里边没有无参构造,而他现在的过程中需要用到无参构造,所以它里边没有的话,报这个错误,那怎么做,咱在里边把它那个无参构造生成出来。
07:00
现在是不是有这个无仓构造,然后升之后到里边,我们现在再做个执行,咱们再看目前效果,刚才是这里边缺少一个无仓构造,那我现在大家看到Lucy是不是输出了,因为我输入就是这个get name,这样的话咱就完成这个web client这么一个调用方式,用它也能实现出我们里边这个具体的这么一个效果。好,把这个就做到了。然后这个做到之后啊,咱们可以再试一个啊,这是根据ID查询。那我们再来一个查询,所有把这个也做一下,那怎么做跟上面类似,咱来一个web里边的get方法,在里边加什么URM,第一个是你那个路径。因为咱们现在这个路径叫users啊,这个路径我们来一个杠,Users后面加一个叫这个accept,跟上面一样,我把这个直接。拿过来啊,加一个accept这么一个值,然后加上之后我们再来一个叫这个。
08:06
Retrivi啊,这么一个方法给它初始化,然后再加一个叫body,但是现在加的是一个叫flex,因为现在这里边是返回式动元素,在里边加上这个叫user.class这样的话我们就完成么一个东西,最终它要一个返回的这么一个类型。它的类型是一个black这么一个user这个啊,我们就做到了,帮我把这个名字改一下,比如叫这个。呃道。这个啊,得到了,得到之后呢,下面把这值我们给它做个输出,从里面把这个输据给它输出一下啊,那怎么输出呢?咱也写一下这个方法,咱用一个方法,这个map方法,咱也说到,它是把一个元素转成这个元素,那这元素比如我现在叫这个名字,我拿一个就叫呃STU了啊。加一个拉表达式,然后s to.get这个name就把它的名称做输出,然后后面点上一个叫八块呢做一个缓冲,包括到一个叫do on next,在里边一个一个往下进行输出,最终system.out。
09:19
然后加上一个。这样的话啊,咱们就完成了这么一个做法,那这个选完之后,下面咱们把它做执行看一下,就是那个效果什么样的,就是现在我们又写了一个查询所有的这么一个操作啊,咱看结果啊。然后大家看里边啊,这个位置我们应该是做了一个基本的一个输出。这里边有一个Lucy啊,当然这个位置应该少了一个,少了一个方法,这个方法我们叫做这个。Block first把这加上啊,然后最终我们再做执行,咱再试一下啊。那要看他那个最终的。
10:01
结果啊,大家看应该有结果了,这个是Lucy,然后这个是Lucy Mary结扣啊block,就类似于咱说那个订阅的过程,不订阅他肯定不会做这个操作啊,这样的话这个咱就完成了,这是关于web client这么一个基本操作,用它也能实现我们这么一个调用。我把这个代码给各位分过来。好,咱们到我们的笔中来。所以咱们现在到这里为止就完成了函数式编程模型中weblo这个操作,这过程我们就做到了,所以要求各位掌握基于注解方式编程模型,完成ylo,包括函数式编程模型方式,把这做到,特别是函数式编程模型方式跟我们之前写法有很大的区别,可以把这种方式给他好好去写一写,好好去练一练,所以这样的话,咱就把这个外B法中的这个主要部分我们就讲解完成了。
我来说两句