说明:服务消费者直接利用RestTemplate调用服务提供者,这种使用方式只是适用于微服务数量比较少的项目,如果微服务的数量比较多建议使用SpringCloud提供的Eureaka组件。
注意:实现远程服务资源调用的除了RestTemplate以外还有WebClient、HttpClient都可以实现相同的效果;WebClient是响应式的。
技巧01:RestTemplate和WebClient使用详解
技巧02:基于WebClient的响应式Rest服务调用框架
1 概念解释
服务提供者:被调用的服务(即:为其它服务提供服务的服务,被调用的服务)
服务消费者:需要调用其他服务的服务(即:服务的调用方)
项目解释:充卡微服务和学生信息微服务是两个服务,相当于是两个项目;但是学生充卡时会向充卡微服务提供自己的个人信息以及充值的金额,充卡微服务在获取到学生的相关信息后就会调用学生信息微服务获取学生的信息信息,根据获取到的详细信息判断这个学生在充完一卡通后应该返回多少金额的红包给他(注意:返回的红包金额为历史充值总金额的百分之一)
2 准备
利用官网创建springBoot项目:点击前往
创建一个学生信息微服务作为提供者服务,该服务可以对学生实现增删改查操作
详见 spirngBoot02那篇博客;源码地址:点击前往
创建一个充卡微服务作为消费者服务,该服务会回获取到学生的ID,然后根据学生的ID利用RestTemplate对象去调用学生微服务查询学生的详细信息;本案例为了方便就直接将学生的ID放在请求路径中了,实际环境中是不能这么干的
这个很简单,看源代码即可:点击前往