微服务 通过EnableFeignClients调用其他服务的api
2024-09-27 21:16:35
今天在项目上遇到一个问题,通过当前service服务要调用到其他service服务的api接口时,可通过EnableFeignClients调用其他服务的api,大概的步骤如下:
1、在springboot的main处加上注解@EnableFeignClients
@EnableDiscoveryClient
@SpringBootApplication
@EnableFeignClients
public class MyServiceApplication { public static void main(String[] args){
SpringApplication.run(MyServiceApplication.class, args);
} }
2、在service层上实现接口,这里注意value可以用serviceId代替,但是最好用value来指定要调用的服务。
fallback是当程序错误的时候来回调的方法
方法中要用@PathVariable要注解参数
@FeignClient(value = "other-service", fallback = ExampleFeignClientFallback.class)
public interface ExampleFeignClient {
@RequestMapping(value = "/v1/exampleId/{id}",method = RequestMethod.GET)
Long queryById(@PathVariable(name="id") Long id);
}
3、编写程序错误时的回调类,实现接口,在错误时回调
@Service
public class ExampleFeignClientFallback implements ExampleFeignClient {
@Override
public Long queryById(Long id) {
return null;
}
}
4、调用该服务
//声明,自动封装
@Autowired
private ExampleFeignClient ExampleFeignClient; //调用
Long result = ExampleFeignClient.queryById(id);
至此,完成整个步骤
最新文章
- SpringMVC 框架的搭建及基本功能的实现
- Android横竖屏切换
- wamp服务下部署禅道或其它项目时访问缓慢的解决办法
- PhyreEngine3.8 MSAA resolution
- css定义的权重
- C# ADO.NET操作数据库 SqlHelp.cs类
- F5(调试)和服务器控件
- web开发性能优化---UI接口章
- 关于Android SDK Manager无法获取更新列表的正确设置
- Maven 浅谈一
- oracle恢复已删除的表
- django获取ip与数据重复性判定
- 基于协程的Python网络库gevent
- 如何使用AB PLC仿真软件Studio 5000 Logix Emulate
- spring用注解配置,不用XML
- bzoj2946
- Mono vs IL2CPP
- 图像检索:RGBHistogram+欧几里得距离|卡方距离
- C# SpinWait
- Mac OSX系统下通过ProxyChains-NG实现终端下的代理
热门文章
- 单例设计模式-java
- jQuery.ajax() 如何设置 Headers 中的 Accept 内容
- libgdx 1.4.1公布
- SourceInsight-显示文件完整路径
- tomcat架构分析 (connector NIO 实现)
- VBA学习笔记(4)--文件夹和文件遍历一层
- 全屏API接口
- 【C#】Config配置文件的读写,及无法写入/保存配置文件的问题
- Android——ArrayList 、LinkList、List 区别 &; 迭代器iterator的使用 &; HashMap、Hashtable、LinkedHashMap、TreeMap
- HDU 5289 Assignment(多校2015 RMQ 单调(双端)队列)