通过feign调用接口
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调用接口相关推荐
- retryexec.java 94_解决feign调用接口不稳定的问题
我就废话不多说了,大家还是直接看代码吧~ Caused by: java.net.SocketException: Software caused connection abort: recv fai ...
- feign调用接口参数可以为null吗_FeignClient调用POST请求时查询参数被丢失的情况分析与处理...
前言 本文没有详细介绍 FeignClient 的知识点,网上有很多优秀的文章介绍了 FeignCient 的知识点,在这里本人就不重复了,只是专注在这个问题点上. 查询参数丢失场景 业务描述: 业务 ...
- 通过Feign调用接口,返回数据时出现数据乱码
在路径映射上添加 produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset ...
- ARTS-11(动态规划、线程池解析、Feign原生接口调用、好用工具推荐)
Algorithm 动态规划思路及解题 Review 线程池的使用 1).多线程的好处 提升资源利用率 提高程序处理效率:例如对执行顺序不敏感的任务,可以交由多个线程进行并行处理 减少了创建和销毁线程 ...
- FeignClient调用接口接收不到参数问题
FeignClient调用接口接收不到参数问题 1. 问题描述 2. 问题分析 3. 测试验证 3.1 环境依赖 3.2 代码实现 4. 结论总结 5. 阿里开发手册 1. 问题描述 问题就是通过Fe ...
- feign调用第三方接口_讲一个你不知道的事:SringCloud的feign的继承特性
前言 说起SpringChoud的feign大家用过的都说好.Feign是Netflix开发的声明式.模板化的HTTP客户端.对于我们微服务来说,微服务之间的api调用,使用feign来说是再方便不过 ...
- 使用 Feign 调用分页接口报错:Method has too many Body parameters(亲测)
一.背景 接口定义: @ApiOperation(value = "分页查询会话") @PostMapping(Routes.SESSIONS_QUERY) JsonResult& ...
- feign调用service_Spring-cloud-eureka使用feign调用服务接口
Spring-cloud-eureka使用feign调用服务接口的具体方法,供大家参考,具体内容如下 基于spring-boot 2.0以上版本完成的微服务架构 pom.xml org.springf ...
- 1、基于Feign的接口调用概述
我们通过一个例子来解析"基于Feign的接口调用" 1.示例概述 图中有三个服务app-a.app-b.app-a-api app-a-api 是 app-a 服务的接口规范,里面 ...
最新文章
- redis python zset
- org.apache.struts2.dispatcher.FilterDispatcher的四个功能
- Python递归实现快速排序
- 2016年4月计算机组成原理试题答案,年4月自考计算机组成原理试题及答案.doc
- Interview:算法岗位面试—11.15下午上海某航天***公司(国企)技术面之工业机器视觉认知、计算机视觉算法的理解、目标检测相关项目案例
- COGS 930. [河南省队2012] 找第k小的数 主席树
- 新版chrome调整开发者工具位置方式改变
- 人工智能AI实战100讲(四)-基于深度学习的图像增强综述
- Spring JPA
- OpenShift - 部署基于MongoDB和NodeJS的多层应用
- 马哥运维学习作业(九)
- Javascript 刷新框架及页面的方法汇总(转)
- 服务器无限关机重启,服务器反复关机重启
- netty 使用阻塞发送_大数据、分布式都用到了的Netty,这几大核心知识你一定要看看!...
- java 移位 简书_js,java中的 无符号右移位符,左移位符,有符号右移位符
- B+/-Tree原理(mysql索引数据结构)
- 二级c语言笔试57,二级C语言笔试真题与答案.doc
- 让天底下没有难接的支付|支付宝网银直连转账到银行卡对接故事续集 支付对接不是一个单纯技术问题 网银直连转账到银行卡开通方式揭晓
- Excel批量转置——录制会循环的宏
- cvCaptureFromFile一直返回NULL