1.引用jar包,pom文件

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-feign</artifactId>
</dependency>

2.启动类上面加注解@EnableFeignClients
表示扫描带有@FeignClient注解的接口
添加注解之后的启动类是这个样子

@SpringBootApplication
@EnableFeignClients
public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}
}

3.写一个接口并且用@FeignClient注解
前提最好用浏览器或者HTTP工具,比如PostMan测试一下那个被调用的接口,确保被调用的接口是可用的

注意:name与url的区别,如果调用的服务,和我们的服务,不在同一个注册中心,那么此时就需要使用一个url来指定被调用的服务的地址,如果在同一个注册中心,那么不建议使用,因为既然在同一个注册中心,还用url干嘛?那不是和注册中心的理念冲突了么
NOTE:当name与url都存在时,feign会认为这是第三方服务,和你不在同一个注册中心,所以优先使用url

@FeignClient(name="被调用的那个服务在eureka中的名字",value="就是name,它俩一样",url="http://localhost:1234/aaa")
public interface MyInterface{//此处相当于访问http://localhost:1234/aaa/m1?p1=xxxx//注意:c1是controller的映射,m1是方法映射,而上面的aaa是项目名@RequestMapping("/c1/m1")public String method1(@RequestParam("p1") String p1);//*****注意此处User,挺有意思的,被调用的服务哪怕返回的不会User类,只要字段名字一样,//值就会传递过来,网上有例子写实现Seralizable接口,全限定名一样什么的,纯属没有任何用,//spring是使用jackson直接json转换的@RequestMapping("/c1/m2")public User method1(@RequestParam("p1") String p1);//*****注意:以下方式摘自网上,我没有亲自试验过,但是觉得可行,所以我就复制过来了@RequestLine("GET /user/index")//feign独有的注解方式 String index();@RequestMapping(value = "/get0/{id}", method = RequestMethod.GET)User findById(@PathVariable("id") Long id);@RequestMapping(value = "/get1", method = RequestMethod.GET)User get1(@RequestParam("id") Long id, @RequestParam("name") String name);@RequestMapping(value = "/get2", method = RequestMethod.GET)User get2(@RequestParam Map<String, Object> map);@RequestMapping(value = "/hello2", method=RequestMethod.GET)User hello2(@RequestHeader("name") String name, @RequestHeader("age") Integer age);@RequestMapping(value = "/hello3", method=RequestMethod.POST)String hello3(@RequestBody User user);//****************摘抄结束************

4.哪里需要调用,哪里就直接@Autowired,比如在某个Service中使用就

@Service
public class MyService{@AutowiredMyInterface myInterface;
}

5.OJBK,没有第五步,Feign使用完毕

SpringBoot-Feign相关推荐

  1. springboot feign too many bytes written executing

    报错 springboot feign too many bytes written executing 解決办法 <dependency><groupId>io.github ...

  2. springboot+feign+nacos+seata+docker整合踏坑实录

    springboot+feign+nacos+seata+docker整合踏坑实录 一.版本 springboot:2.7.2 feign:3.1.5 jdk:19 seata:1.5.2 nacos ...

  3. springboot feign 404 小坑

    RT,说是小坑,其实不算是坑,之所以说是小坑,主要还是因为对 @FeignClient 的属性掌握的不够.这篇文字的重要角色是 @FeignClien 的 path 属性. 言归正传,还是先描述一下此 ...

  4. SpringBoot Feign接口调用启动类异常Consider defining a bean of type ‘xxx‘ in your configuration.

    问题描述: Description:Field iDeptFeign in cn.ffcs.ints.modules.questionnaire.controller.QuestionnaireCon ...

  5. SpringBoot以及网关服务配置部署和发布

    云服务 aliyunCloud,tencentCloud ...... 做任何事情之前,先考虑以下几个方面: 1细节决定成败 2墨菲定律 一.工具管理服务搭建 1.Maven搭建    ...... ...

  6. consul集群安装以及服务的注册和发现

    consul集群安装 用springboot写了几个项目,leader说服务可以试着向consul上边迁移,于是搭建了consul的测试集群,至于为什么不用eureka,可以看下边这个表 Featur ...

  7. 企业分布式微服务云SpringCloud SpringBoot mybatis - 服务消费者(Feign)

    一.Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单.使用Feign,只需要创建一个接口并注解.它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注 ...

  8. java B2B2C Springboot电子商务平台源码-Feign 基本使用

    1. [microcloud-consumer-feign]为了可以使用到 feign 支持,需要修改 pom.xml 配置文件,引入相关依赖包:需要JAVA Spring Cloud大型企业分布式微 ...

  9. java B2B2C Springboot仿淘宝电子商城系统-负载均衡之ribbon+feign

    一. feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单.使用Feign,只需要创建一个接口并注解.它具有可插拔的注解特性,可使用Feign注解和JAX-RS注 ...

  10. http方法_像本地方法一样调用http服务,feign框架springboot项目实践

    原创不易,请多多支持!对Java技术感兴趣的童鞋请关注我,后续技术分享更精彩. 概述 微服务在如今后台系统建设上大行其道,各子服务间接口交互方式,http请求协议又是首选.而相比远程方法调用的rmi接 ...

最新文章

  1. 产生BFC环境的几种方式
  2. PNAS:别开灯睡觉了,既损害心血管健康,还会增加患糖尿病风险
  3. Java script第二课
  4. Spring Data JPA 查询方法支持的关键字
  5. 安卓手机用久了会卡顿,那么到底应该删掉手机里的哪些东西?
  6. github下载慢怎么办,国内下载release内容的解决办法
  7. 智能云如何加速产业智能化?百度CTO王海峰2020全球智博会擘画蓝图
  8. linux启动hbase_HBase集群环境配置
  9. arduino无源蜂鸣器歌曲编码_Arduino 蜂鸣器音乐代码转化程序开发
  10. 2022-10-10更新步数接口和快捷指令
  11. u盘启动怎么修复计算机,计算机黑屏怎么办 如何使用u盘启动制作系统
  12. sqlserver之远程访问配置
  13. ABAP 生产订单的创建与修改函数
  14. linux安装核显驱动程序,在Ubuntu系统上怎么安装英特尔核显驱动安装器
  15. PyQt5 第七章 综合篇(一)
  16. 三本毕业后,选择了大数据开发职业
  17. htc 8x android,htc 8x的usb驱动下载
  18. 计算机屏保密码失效,电脑锁屏密码突然不对了是怎么回事
  19. iOS AVCaptureSession使用教程
  20. 1598 - 文具店的折扣

热门文章

  1. linux上oracle导入mysql_linux下的oracle数据库和表空间的导入导出
  2. 在linux搭性能测试环境,性能测试学习第七天-----JMeter之linux环境部署篇
  3. 创建mysql用户并在单个数据库上赋权
  4. 1秒后跳转页面(延时setTimeout)
  5. python3连接mysql获取ansible动态inventory
  6. dict过滤 python_从Python dict获得独特的第一次出现的更有效方法
  7. 测量怎么显示坐标_测量员必须掌握的——全站仪坐标放样
  8. vue中cookie的使用——将cookie放在请求头header中
  9. Vue Element-UI使用icon图标(第三方)--在线版
  10. java 怎么从date取得年份