Feign是一个生命是的web service 客户端,使用方式非常简单:接口+注解,spring cloud feign 对feign惊醒了增强使它支持了spring mcv注解。

示例(以下示例结合了Eureka):

引入依赖:

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

配置启动类:

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

配置Feign接口:

@FeignClient(name = "eureka-client-peer1")
public interface UserService { @RequestMapping(value = "/user/getUser",method = RequestMethod.POST)
String getUserInfo(@RequestParam("name") String name); }

配置一个Controoler用户调用:

@RestController
@RequestMapping("/user")
public class UserController { @Autowired
private UserService userService; @RequestMapping(value = "/getUser")
public String getUserInfo(String name){
return userService.getUserInfo(name);
}
}
1、注解@EnableFeignClients 表示当前程序启动时,会进行包扫描,扫描所有带@FeignClient注解的类并进行处理
2、注解@FeignClient作用于目标借口上:
  1)name:指定FeignClirnt名称,如果项目使用Ribbon,name属性会作为微服务的名称,用于服务发现
  2)url:通常用于调试,可手动指定@FeignClient调用的地址
  3)configuration :指定feign的配置类
  4)fallback:指定容错的处理类,如果请求出现错误(例如:超时,报错等),可调用指定的容错处理类,该类必须实现@FeignClient接口
  5)path 统一FeignClient的前缀
  6)fallbackFactory:用来提供fallback类的工厂类,避免重复代码出现

  

最新文章

  1. iOS - Phone 电话
  2. 问题:C++形参默认值为什么一定要放在最后?
  3. 使用supervisor监控进程
  4. Effective C++ -----条款22:将成员变量声明为private
  5. union select
  6. MVC4 下DropDownList使用方法
  7. 关闭IE窗口
  8. 坑爹的vector iterators incompatible错误(VS中属性页--&gt;C/C++--&gt;代码生成--&gt;&gt;运行库)
  9. fragement切换动画效果的实现
  10. 文本处理工具(grep)
  11. 深度解剖dubbo源码
  12. Protocol Buffer序列化/反序列化---初体验(java版)
  13. hyperledger中文文档学习-1-词汇表
  14. ubuntu “无法获得锁 /var/lib/dpkg/lock -open”
  15. 1490 ACM 数学
  16. gdb调试5--工程项目的断点调试
  17. 【教程】教你解决“Windows 资源保护找到了损坏文件但无法修复其中某些文件”的问题【转载】
  18. WP8.1学习系列(第二章)——Toast通知
  19. axis2框架用wsdl文件生成的服务端MessageReceiveInOut文件注意事项
  20. Vue Cli 中使用 Karma / Chrome 执行样式相关单元测试

热门文章

  1. 日常-acm-排列
  2. mongo 4.0以下版本 类型转换
  3. React 服务端渲染最佳解决方案
  4. 【C++学习笔记】 链式前向星
  5. TO_DATS() AS ABAP_DATE
  6. EasyUI获取正在编辑状态行的索引
  7. gitlab文件夹的权限不要随便给777
  8. PyCharm 2018.1 软件汉化
  9. JZOJ 3509. 【NOIP2013模拟11.5B组】倒霉的小C
  10. Flask学习笔记:数据库ORM操作MySQL+pymysql/mysql-python+SQLAlchemy/Flask-SQLAlchemy