今天在项目上遇到一个问题,通过当前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);

至此,完成整个步骤

最新文章

  1. SpringMVC 框架的搭建及基本功能的实现
  2. Android横竖屏切换
  3. wamp服务下部署禅道或其它项目时访问缓慢的解决办法
  4. PhyreEngine3.8 MSAA resolution
  5. css定义的权重
  6. C# ADO.NET操作数据库 SqlHelp.cs类
  7. F5(调试)和服务器控件
  8. web开发性能优化---UI接口章
  9. 关于Android SDK Manager无法获取更新列表的正确设置
  10. Maven 浅谈一
  11. oracle恢复已删除的表
  12. django获取ip与数据重复性判定
  13. 基于协程的Python网络库gevent
  14. 如何使用AB PLC仿真软件Studio 5000 Logix Emulate
  15. spring用注解配置,不用XML
  16. bzoj2946
  17. Mono vs IL2CPP
  18. 图像检索:RGBHistogram+欧几里得距离|卡方距离
  19. C# SpinWait
  20. Mac OSX系统下通过ProxyChains-NG实现终端下的代理

热门文章

  1. 单例设计模式-java
  2. jQuery.ajax() 如何设置 Headers 中的 Accept 内容
  3. libgdx 1.4.1公布
  4. SourceInsight-显示文件完整路径
  5. tomcat架构分析 (connector NIO 实现)
  6. VBA学习笔记(4)--文件夹和文件遍历一层
  7. 全屏API接口
  8. 【C#】Config配置文件的读写,及无法写入/保存配置文件的问题
  9. Android——ArrayList 、LinkList、List 区别 & 迭代器iterator的使用 & HashMap、Hashtable、LinkedHashMap、TreeMap
  10. HDU 5289 Assignment(多校2015 RMQ 单调(双端)队列)