第三篇:注解式HTTP请求Feign

文章第一时间送达到您的手中!

为开发者提供了在分布式系统中的一些常用的组件(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,决策竞选,分布式会话集群状态)。使用Spring Cloud开发人员可以快速地完成实现这些模式的服务和应用程序。它们在任何分布式环境中都能很好地工作

Feign

注解式的 使得 Java HTTP 客户端编写更方便。 灵感来源于安卓网络编程框架 、 和 ,支持可插拔编码器和解码器,降低 HTTP API 的复杂度,通过最少的资源和代码来实现和 的连接。通过可定制的解码器和错误处理,可以编写任意的HTTP API。封装了 这一组件,所以在使用 同时还能提供负载均衡的功能,这一切只需要一个 即可完成。

早期版本的 被 团队集成在 子项目下,但如今 团队将 独立成一个单独的 项目

Try

准备三个工程,分别是 、、

Eureka Server

详情参考第一章,或从文末的 GITHUB 链接获取对应篇幅的完整代码

Product Server

一个普通的 即可,详情参考上一章,或从文末的 GITHUB 链接获取对应篇幅的完整代码

Order Server

这个例子也是在上一章的基础之上做了扩展

依赖

对比上一章,此处多了一个 的依赖

配置文件

在 目录下创建一个 的文件,写上 eureka 相关配置信息

ProductClient 接口

创建一个 ,是不是感觉和 看起来类似(用法都类似),都是接口文件只不过在这个文件的上方多了一个 注解,多种写法,总有一款适合你

:指定 的名称,该属性会作为微服务的名称,用于服务发现

:同 字段互通

:指定服务ID,每个注册到注册中心上的客户端都会有对应的 一般是 ,与 和 互通

: 一般用于调试,可以指定一个详细地址(http://localhost:8080/products)

: 请求统一路径,可以看成

:404 错误时,调用 进行解码,否则抛出

:发生错误时,回调 类/方法(后面会详细介绍)

OrderController

直接使用 注入进去即可,然后调用就好了,对比较 这里我们看不到 的代码了,也无需自己做解码映射, 默认都替我们实现好了,我们只需要遵循既定的标准即可

主函数

通过 注解开启对 的支持,用习惯 的朋友喜欢将 API 打包成独立的 JAR ,这个时候需要指定 属性。

总结

目前很多大佬都写过关于的教程了,如有雷同,请多多包涵,本教程基于最新的 编写…

说点什么

个人QQ:1837307557

微信公众号(欢迎调戏):battcn

微信号:battcn-1 加我带你入群开车

公众号

全文代码:https://github.com/battcn/spring-cloud2-learning/tree/master/chapter3

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181010G0D5TI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券