Feign远程调用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Feign远程调用相关的知识,希望对你有一定的参考价值。
参考技术A 一、注册中心 https://www.jianshu.com/p/e2e3ded1f54a二、Ribbon https://www.jianshu.com/p/c865a9e3a69c
Feign是Netflix公司开源的轻量级rest客户端,使用Feign可以非常方便的实现Http 客户端。Spring Cloud引入Feign并且集成了Ribbon实现客户端负载均衡调用。
1、在客户端添加依赖
在课程管理服务添加下边的依赖:
2、定义FeignClient接口
3、启动类添加@EnableFeignClients注解
4、测试
Feign工作原理如下:
1、 启动类添加@EnableFeignClients注解,Spring会扫描标记了@FeignClient注解的接口,并生成此接口的代理对象
2、 @FeignClient(value = "XC_SERVICE_MANAGE_CMS")即指定了cms的服务名称,Feign会从注册中心获取cms服务列表,并通过负载均衡算法进行服务调用。
3、在接口方法 中使用注解@GetMapping("/cms/page/get/id"),指定调用的url,Feign将根据url进行远程调用。
SpringCloud对Feign进行了增强兼容了SpringMVC的注解 ,我们在使用SpringMVC的注解时需要注意:
1、feignClient接口 有参数在参数必须加@PathVariable("XXX")和@RequestParam("XXX")
2、feignClient返回值为复杂对象时其类型必须有无参构造函数。
以上是关于Feign远程调用的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloud03 Ribbon知识点 Feign知识点利用RestTemplate+Ribbon调用远程服务提供的资源利用feign调用远程服务提供的资源