新建 spring-cloud-eureka-feign-client Module
pom
1 | <parent> |
application.yml
1 | server: |
启动类
1 | @EnableFeignClients // 开启 Feign Client |
FeignClient
1 | @FeignClient("eureka-client") |
Controller
1 | @RestController |
测试
- 启动 eureka-server
- 启动 eureka-client (两个实例:一个 8011 端口,一个 8012 端口)
- 启动 eureka-feign-client
多次访问 http://localhost:8031/hi?name=victor 可以看到 8011 和 8012 端口交替出现
添加失败重试
添加配置
1 | @Configuration |
修改 FeignClient
1 | @FeignClient(value = "eureka-client", configuration = FeignConfig.class) |
使用 HttpClient 或 OkHttp
在 Feign 中,Client 是一个非常重要的组件,Feign 最终发送 Request 请求以及接收 Response 响应都是由 Client 组件完成的。Client 在 Feign 源码中是一个接口,在默认的情况下, Client 的实现类是 Client.Default, Client.Default 是由 HttpURLConnnection 来实现网络请求的。Client 还支持 HttpClient 和 OkhHttp 来进行网络请求
直接添加 HttpClient 或 OkhHttp 依赖包,Feign 会自动使用对应的网络请求框架
完整代码:GitHub
本人 C# 转 Java 的 newbie, 如有错误或不足欢迎指正,谢谢