feign是声明式WEbService客户端,它的使用方法是定义一个接口,在接口上添加注解,即可完成对服务提供方接口的绑定,Feign可以与Ribbon组合实现负载均衡。它让调用接口更加容易。

  • Demo

服务端、客户端都可以参考之前的项目https://blog.csdn.net/zgsxhdzxl/article/details/103781278,现在在原来的基础上进行更改

  • 新建一个service工程
  • 新建一个接口,方法跟服务端的方法一致
@FeignClient(name = "PRODUCT", configuration = FeignClientConfig.class)
public interface TestService {@RequestMapping("/test/get/{id}")public String get(@PathVariable("id") String id);
}
  • 由于做了接口加密,所以配置config
@Configuration
public class FeignClientConfig {@Beanpublic BasicAuthRequestInterceptor getBasicAuthRequestInterceptor() {return new BasicAuthRequestInterceptor("admin", "123456");}@Beanpublic Logger.Level getFeignLoggerLevel() {return feign.Logger.Level.FULL ;}
}
  • 新建一个consumer工程,配置跟之前的一样
  • 在启动类上开启feign
@EnableFeignClients("com.zxl.service")
  • 调用feign接口
@RequestMapping("/test")
@RestController
public class TestController {@Autowiredprivate TestService testService;@RequestMapping("/get")public String get(String id) {return testService.get(id);}
}
  • 结束
  • Feign原理

Feign的一个关键机制就是使用了动态代理。

  • 如果对某个接口定义了FeignClient注解,那么Feign就会针对该接口创建一个动态代理。
  • 调用接口,其实就是调用Feign创建的动态代理。
  • Feign会根据接口上的注解、参数等,动态构建出需要的服务地址
  • 进行请求以及接收相应消息

通过feign调用接口相关推荐

  1. retryexec.java 94_解决feign调用接口不稳定的问题

    我就废话不多说了,大家还是直接看代码吧~ Caused by: java.net.SocketException: Software caused connection abort: recv fai ...

  2. feign调用接口参数可以为null吗_FeignClient调用POST请求时查询参数被丢失的情况分析与处理...

    前言 本文没有详细介绍 FeignClient 的知识点,网上有很多优秀的文章介绍了 FeignCient 的知识点,在这里本人就不重复了,只是专注在这个问题点上. 查询参数丢失场景 业务描述: 业务 ...

  3. 通过Feign调用接口,返回数据时出现数据乱码

    在路径映射上添加 produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset ...

  4. ARTS-11(动态规划、线程池解析、Feign原生接口调用、好用工具推荐)

    Algorithm 动态规划思路及解题 Review 线程池的使用 1).多线程的好处 提升资源利用率 提高程序处理效率:例如对执行顺序不敏感的任务,可以交由多个线程进行并行处理 减少了创建和销毁线程 ...

  5. FeignClient调用接口接收不到参数问题

    FeignClient调用接口接收不到参数问题 1. 问题描述 2. 问题分析 3. 测试验证 3.1 环境依赖 3.2 代码实现 4. 结论总结 5. 阿里开发手册 1. 问题描述 问题就是通过Fe ...

  6. feign调用第三方接口_讲一个你不知道的事:SringCloud的feign的继承特性

    前言 说起SpringChoud的feign大家用过的都说好.Feign是Netflix开发的声明式.模板化的HTTP客户端.对于我们微服务来说,微服务之间的api调用,使用feign来说是再方便不过 ...

  7. 使用 Feign 调用分页接口报错:Method has too many Body parameters(亲测)

    一.背景 接口定义: @ApiOperation(value = "分页查询会话") @PostMapping(Routes.SESSIONS_QUERY) JsonResult& ...

  8. feign调用service_Spring-cloud-eureka使用feign调用服务接口

    Spring-cloud-eureka使用feign调用服务接口的具体方法,供大家参考,具体内容如下 基于spring-boot 2.0以上版本完成的微服务架构 pom.xml org.springf ...

  9. 1、基于Feign的接口调用概述

    我们通过一个例子来解析"基于Feign的接口调用" 1.示例概述 图中有三个服务app-a.app-b.app-a-api app-a-api 是 app-a 服务的接口规范,里面 ...

最新文章

  1. Format specifies type 'id' but the argument has type 'NSError *__autoreleasing *
  2. Python日期字符串到日期对象
  3. SharePoint 2013/2010 中的日历重合 (Calendars Overlay)
  4. python dataframe loc函数_python pandas.DataFrame.loc函数使用详解
  5. BZOJ 1305 [CQOI2009]dance跳舞
  6. python通过MySQLdb操作mysql
  7. 拓端tecdat|R语言指数平滑法holt-winters分析谷歌Google Analytics博客用户访问时间序列数据
  8. Java实现过滤敏感词汇
  9. openv学习—Template Matching
  10. VC++_2010_学习版_下载教程
  11. 匿名留言板表白墙 小程序校园树洞带后台
  12. react-redux多reducer完整实例
  13. 微信公众平台开发--表情符号
  14. js数组操作的一些方法在面试题的使用
  15. 二维插值-MATLAB
  16. getdate、dateadd、datediff、datename、datepart关于日期函数的用法及理解
  17. 自定义datastage阶段
  18. 能力圈与焦虑:焦虑是因为自己能力不够吗?
  19. 全自动生成二维码和条形码,Excel和WPS都可以哦
  20. 安科瑞「解决方案」消防产品解决方案及上图方案

热门文章

  1. 动态ip地址有什么优缺点!
  2. Excel 使用CHIINV函数和GAMMA.DIST函数绘制卡方分布
  3. 智慧公租房解决方案你知多少?
  4. 数组push方法使用 Uncaught TypeError: Cannot read property ‘push‘ of null
  5. 武汉python工资一般多少_个人税后月薪一万在武汉是什么样的体验?
  6. canny算子的python实现以及pytorch实现
  7. 2018-2-13-win10-uwp-判断文件存在
  8. 按键精灵_关于窗口无响应、卡屏状态的判断判定
  9. 人工干预随机数中的概率and一些数组的小事
  10. jiavascript 精华收集