`
m635674608
  • 浏览: 5003449 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Feign:Java HTTP客户端库

 
阅读更多

Feign使得 Java HTTP 客户端编写更方便。Feign 灵感来源于Retrofit、JAXRS-2.0和WebSocket。Feign最初是为了降低统一绑定Denominator到HTTP API的复杂度,不区分是否支持Restful。Feign旨在通过最少的资源和代码来实现和HTTP API的连接。通过可定制的解码器和错误处理,可以编写任意的HTTP API。

feign

主要特点

  • 定制化
  • 提供多个接口
  • 支持JSON格式的编码和解码
  • 支持XML格式的编码和解码

工作机制

Feign通过配置注入一个模板化请求进行工作。只需在发送之前关闭它,参数就可以被直接的运用到模板中。然而这也限制了Feign,只支持文本形式的API,它可以在响应请求方面来简化系统。了解了这一点,这也非常容易进行你的单元测试转换。

基础示例

下面是标准Retrofit的典型用法:

可定制

Feign在一些方面可以定制。举个简单的例子,你可以使用Feign.builder()来构建一个API 接口,包含你自定义的内容。例如:

支持多种接口

Feign可以提供多种API 接口。这些都被定义为Target<T>(默认为 HardCodeTarget<T>)。它允许动态扩展,并且被修饰过的请求会被优先执行。

例如,以下部分可以修饰来自当前身份验证服务的URL和AUTH的每一个请求。

示例

Feign被应用于GitHub维基百科客户端。相似的项目也同样在实践中运用了Feign。尤其是它的示例后台程序

官方网站:https://github.com/Netflix/feign
开源地址:https://github.com/Netflix/feign

 

http://hao.jobbole.com/feign/

分享到:
评论

相关推荐

    feign:Feign使编写Java http客户端更加容易

    Feign使用Jersey和CXF等工具为ReST或SOAP服务编写Java客户端。 此外,Feign允许您在诸如Apache HC之类的http库之上编写自己的代码。 Feign通过可自定义的解码器和错误处理功能,以最小的开销和代码将代码连接到http...

    JavaHTTP客户端库Feign.zip

    Feign 使得 Java HTTP 客户端编写更方便。Feign 灵感来源于 Retrofit, JAXRS-2.0 和 WebSocket,Feign 最初是为了降低统一绑定 Denominator 到 HTTP APIs 的复杂度,不管是否是 Restful 。基础使用:interface ...

    Feign使得编写JavaHTTP客户端更容易

    Feign是Netflix公司开源的一款Java库,它使得创建HTTP客户端变得更加简单、直观。Feign的设计灵感来自于Retrofit和Apache HttpClient,但提供了更为简洁的接口,让开发者能够通过注解定义接口,实现远程服务调用。在...

    Feign:使编写Java http客户端更加容易-开源

    Feign是一个Java到HTTP客户端绑定程序,其主要... Feign使用了诸如Jersey和CXF之类的出色工具来为ReST或SOAP服务编写Java客户端。 它还使您可以在http库的顶部编写自己的代码,并以很少的开销将代码连接到http API。

    feign:Feign使编写Java HTTP客户端更加容易

    Feign使用Jersey和CXF之类的工具为ReST或SOAP服务编写Java客户端。 此外,Feign允许您在诸如Apache HC之类的http库之上编写自己的代码。 Feign通过可定制的解码器和错误处理功能,以最小的开销和代码将代码连接到...

    Spring Boot与Feign:微服务架构下的优雅通信

    Feign是一个声明式的Web服务客户端库,它极大地方便了HTTP客户端的开发工作。Feign通过简单的接口定义和注解来完成HTTP请求的构建与发送,极大地提高了开发效率。 ##### 2.1 Feign的主要特点 1. **声明式接口**:...

    feign_v960依赖的jar包.rar

    Feign 是一个声明式的 HTTP 客户端,它使得编写 Web 服务客户端变得简单。这个“feign_v960依赖的jar包.rar”文件包含了 Feign 的版本 9.6.0 所需的 JAR 包,这些 JAR 包是用于构建 Java 应用程序并与其依赖的服务...

    feign以XML格式传输-技术点eureka-feign-jackson.zip

    在"feign以XML格式传输-技术点eureka-feign-jackson.zip"这个项目中,我们关注的核心知识点是如何在Feign客户端中使用XML进行数据传输,并结合Jackson库将Java对象转换为XML格式。 首先,让我们深入理解Eureka。...

    GRPC简单应用(Java+Python)

    GRPC是一种高性能、开源的通用RPC框架,基于Google的Protocol Buffers(protobuf)协议和HTTP/2设计。它允许服务间进行高效的双向通信,支持多种编程语言,包括Java和Python。在本文中,我们将深入探讨如何在Java和...

    feign-master.zip

    Feign 的核心理念是通过接口定义来调用远程服务,类似于 Java 中的 RMI 或者 Spring 的 REST 客户端。下面我们将深入探讨 Feign 的相关知识点。 1. **声明式编程**:Feign 的一大特色就是它的声明式 API。在创建 ...

    conjure-java-runtime:支持基于HTTP和JSON的RPC的专用库,使用Retrofit,Feign,OkHttp作为客户端,并使用JettyJersey作为服务器

    核心库: conjure-java-jaxrs-client:JAX-RS定义的服务接口的客户端 conjure-java-retrofit2-client:用于改造定义的服务接口的客户端 conjure-java-jersey-server:Dropwizard / Jersey服务器的配置库 :用于...

    springcloud feign整合hystrix(服务降级).doc

    Feign是一个声明式的Web服务客户端,它使得编写Web服务客户端变得简单,而Hystrix则是一个用于处理延迟和故障的库,通过断路器模式来防止服务雪崩,确保系统的稳定。 **Feign简介** Feign是基于NetFlix的一个声明式...

    srping-cloud-alibaba-nacos-feign.zip

    Feign允许开发者通过接口定义来调用其他服务,提供了类似Java的注解方式来指定HTTP请求的路径、方法、参数等。 整合Nacos和Feign,可以让服务间的调用更加简洁和高效: 1. 引入Spring Cloud Alibaba Nacos Config和...

    springcloud feign 服务消费者 类似 webservice

    Feign的设计灵感来源于Netflix的Feign库,它的主要目的是简化微服务之间的通信,使得开发者可以像定义接口一样调用远程服务,从而降低了服务消费者与提供者的耦合度。 在传统的Web Service(WebService)中,我们...

    使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务的方法(推荐)

    默认情况下,Feign使用Jackson库将Java对象序列化为JSON格式。 2. **解码器(Decoder)**:处理HTTP响应,将响应体反序列化为Java对象。同样,默认情况下,Feign使用Jackson反序列化JSON响应。 3. **RequestTemplate...

    SpringBoot使用Feign调用第三方接口Demo.zip

    Feign是一个声明式Web服务客户端,它使得编写Web服务客户端变得简单,它的工作原理是通过创建一个接口并添加注解来定义服务接口,然后Feign会自动生成实现该接口的HTTP客户端。 在这个"SpringBoot使用Feign调用第三...

    java-to-python:通过http调用接口的方式实现java调用Python程序,进行数据交互

    在Java端,我们需要一个HTTP客户端库来发送请求。Apache HttpClient是一个流行的选择,它提供了灵活且强大的功能来发送HTTP请求。以下是一个简单的示例,展示如何使用HttpClient发送POST请求: ```java import org....

    Spring Cloud+maven+Eureka+zuul+微服务+客户端+feign+hystrix+ribbon

    6. **Feign**: Feign是一个声明式Web服务客户端,它使得编写HTTP客户端变得更简单。通过Feign,开发者可以创建接口并注解方法,Feign会自动将其实现,调用远程服务就像调用本地方法一样。 7. **Hystrix**: Hystrix...

    spring-rest-client-examples:Spring Rest客户端示例

    除了`RestTemplate`,Spring还推荐了Retrofit和Feign作为更现代化的HTTP客户端库。Retrofit是由Square公司提供的,而Feign是Netflix开源的,它们都提供了更简洁的API来声明HTTP接口。 7. **Spring WebFlux** 考虑...

Global site tag (gtag.js) - Google Analytics