如何用RestTemplate去访问客户端

在这里插入图片描述
首先说一下这个地方,红色框圈住的部分总是要去掉的,因为这里是打包的部分,只需要打包到service处即可,后面是多余的

新建这个访问模块,其中的选项都不太重要,重要的是你要在功能那里选择web就行,然后到引导类这边添加RestTemplate:
在这里插入图片描述
RestTemplate有什么作用呢?RestTemplate的功能就是访问客户端的地址,从而可以访问客户端的数据或者接口的源代码。然而有个细节,就是返回值是RestTemplate,然后返回的是new一个RestTemplate,这样子减少了代码量,直接在return里面new了

然后我们新建一个Controller,这里也是有个细节
在这里插入图片描述
好好想想为什么controller这个包要建立在与引导类同级别呢,原因就是引导类必须要等于或者高于所在模块的所有service,controller,或者mapper等等的包,不然引导类是没办法运行的。

controller的内容如下所示
在这里插入图片描述
其中RequestMapping也是需要的,这个是用来访问你这个方法的,然后我们需要在这里封装一次RestTemplate方法,方便当前这个方法的调用,有人可能会问,为什么前面的方法是public,因为前面的方法有返回值,所以加个public,再加上个返回值类型,就可以返回RestTemplate对象

在这里插入图片描述

再回来刚刚这里
在这里插入图片描述

GetMapping也是需要的,这个表示从网址中获取某个字符或者数据,为什么下面还需要ResponseBody呢,因为如果你不加这个,下面的queryUserById方法的返回值就没有用了,因为返回值是User,User是从自己模块的类当中调用过来的,如果不加ResponseBody的话,是没有办法调用到User作为返回值的,看看queryUserById这个方法,后面就是RequestParam(“id”),这个RequestParam常见于后端用来获取前端的数据,所以在这里是你输入网址localhost之后,外加controller这里写的consumer/user之后,还要在后面加上参数id,然后用RequestParam来获取这个前端的特定数据“id”,再把这个id传给当前方法的参数id,最后在返回的结果里面直接用restTemplate的方法getForObject,这个getForObject是什么意思呢,就是传入客户端的地址,还有参数的id值,还有实体类也就是当前的User类,传入这些参数后,就可以通过这个地址和参数向之前的客户端模块去拿去相应的信息,而且可以注意一下,你不用在地址后面输入端口什么的,直接输入controller规定的地址就可以了,然后就可以完成对客户端的访问。

除此之外,别忘了新建一个pojo包用来放User类,这个User类要和客户端那边的User类一样,但可以去除数据库相关的注解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值