SpringCloud服务间调用

SpringCloud服务间的调用有两种方式:RestTemplate和FeignClient。不管是什么方式,他都是通过REST接口调用服务的http接口,参数和结果默认都是通过jackson序列化和反序列化。因为Spring MVC的RestController定义的接口,返回的数据都是通过Jackson序列化成JSON数据。

一、RestTemplate

使用这种方式,只需要定义一个RestTemplate的Bean,设置成LoadBalanced即可。

如下示例:

这样我们就可以在需要用的地方注入这个bean使用:

其它示例参考:

二、FeignClient

除了上面的方式,我们还可以用FeignClient。

我们只需要使用@FeignClient定义一个接口,Spring Cloud Feign会帮我们生成一个它的实现,从相应的users服务获取数据。

其中,@FeignClient(value = “users”, path = “/users/getUserDetail”)里面的value是服务ID,path是这一组接口的path前缀。在下面的方法定义里,就好像设置Spring MVC的接口一样,对于这个方法,它对应的URL是/users/getUserDetail/{id}。然后,在使用它的时候,就像注入一个一般的服务一样注入后使用即可:

Original: https://www.cnblogs.com/moonandstar08/p/7565524.html
Author: moonandstar08
Title: SpringCloud服务间调用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/541384/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球