awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Netflix avatar

Netflix/feign

0
View on GitHub↗
9,783 星标·1,939 分支·Java·Apache-2.0·5 次浏览

Feign

Feign 是一个声明式的 Java HTTP 客户端,可自动生成 Web 服务客户端。它允许开发人员使用接口和注解定义 REST API 端点,无需编写手动请求和响应的样板代码。

该项目使用动态代理将方法调用映射到 HTTP 请求模板。它具有可插拔的编码器和解码器流水线,可将 Java 对象转换为请求体,并将响应体转换回类型安全的对象。

该库涵盖了广泛的集成功能,包括用于头部管理的请求拦截、用于弹性服务消费的基于策略的重试逻辑,以及用于 URI 的模板扩展。它还提供了记录 HTTP 流量日志和收集客户端性能指标的工具。

Features

  • Declarative API Clients - Allows the definition of network endpoints using a declarative interface style with annotations.
  • Pluggable Transformation Pipelines - Provides a pluggable pipeline of interchangeable encoders and decoders for transforming network payloads.
  • API Request Automation - Automates the transformation of Java objects into formatted HTTP request bodies and query parameters.
  • API Client Generators - Automates the generation of HTTP client implementations by mapping Java method calls to request templates.
  • Microservices Communications - Standardizes synchronous communication between distributed microservices using a declarative client approach.
  • HTTP Client Libraries - Serves as a comprehensive Java library for performing synchronous and asynchronous HTTP requests.
  • HTTP Client Wrappers - Wraps complex HTTP communication into type-safe Java interfaces to eliminate request boilerplate.
  • Client Services - Implements network clients that provide type-safe responses and automated request handling.
  • Response Body Decoders - Transforms HTTP response payloads into type-safe Java objects using a pluggable decoding system.
  • Dynamic Proxies - Uses runtime dynamic proxies to intercept interface calls and dispatch them as HTTP requests.
  • Interface-to-Endpoint Mappings - Maps Java method signatures and annotations directly to HTTP endpoints to automate request construction.
  • REST Clients - Implements an interface-based approach to define and execute requests against RESTful APIs.
  • Query Parameter Encoders - Automatically formats maps and objects into valid query strings for dynamic request URL construction.
  • Multipart Form Encoding - Serializes request payloads into multipart/form-data or url-encoded formats for web service transmission.
  • Request Header Configuration - Provides comprehensive tools for defining static and dynamic HTTP request headers via annotations and interceptors.
  • Retry Policies - Implements configurable retry policies to automatically re-execute failed network requests based on specific exceptions.
  • HTTP Request Interceptors - Includes middleware components to intercept and modify outgoing requests for global header injection and authentication.
  • API Error Handling Patterns - Processes non-success HTTP responses through a custom decoder to wrap failures into type-safe exceptions.
  • Interceptor Sequences - Processes outgoing requests through an ordered sequence of interceptors to modify metadata or inject headers.
  • Retry Strategies - Determines whether to re-execute failed network operations based on configurable policies and exception types.
  • Resilience Retry Patterns - Implements configurable retry policies and failure handling to ensure resilient web service consumption.
  • URI Template Expanders - Resolves placeholders in URIs and headers using standard template expansion rules and method parameters.
  • External API Integrations - Facilitates integration with external REST services using custom interceptors and error handling.
  • Request Body Attachers - Converts Java objects into HTTP request bodies using configurable encoders and template expansion.
  • REST框架 - 声明式HTTP客户端连接器。

Star 历史

netflix/feign 的 Star 历史图表netflix/feign 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

netflix/feign 是做什么的?

Feign 是一个声明式的 Java HTTP 客户端,可自动生成 Web 服务客户端。它允许开发人员使用接口和注解定义 REST API 端点,无需编写手动请求和响应的样板代码。

netflix/feign 的主要功能有哪些?

netflix/feign 的主要功能包括:Declarative API Clients, Pluggable Transformation Pipelines, API Request Automation, API Client Generators, Microservices Communications, HTTP Client Libraries, HTTP Client Wrappers, Client Services。

netflix/feign 有哪些开源替代品?

netflix/feign 的开源替代品包括: openfeign/feign — Feign is a declarative Java HTTP client framework that maps method signatures to REST API requests. It functions as an… imroc/req — req is a chainable HTTP client library for Go designed to simplify request configuration and automatic response… go-resty/resty — Resty is a high-level HTTP client library for Go designed for consuming REST services. It provides a streamlined… shazow/urllib3 — urllib3 is a Python HTTP client library used to send network requests and receive responses. It provides core… kittinunf/fuel — Fuel is a Kotlin HTTP client library for Android and Kotlin applications that handles both synchronous and… libcpr/cpr — C++ is a high-level HTTP client library and wrapper for libcurl. It provides a C++ interface for making network…

Feign 的开源替代方案

相似的开源项目,按与 Feign 的功能重合度排序。
  • openfeign/feignOpenFeign 的头像

    OpenFeign/feign

    9,784在 GitHub 上查看↗

    Feign is a declarative Java HTTP client framework that maps method signatures to REST API requests. It functions as an HTTP interface mapper, allowing the creation of type-safe clients by defining service interfaces with annotations to eliminate manual request logic. The framework features a pluggable HTTP transport layer, which decouples request definition from execution by routing network traffic through interchangeable underlying HTTP engines. It provides a comprehensive request management pipeline including interceptors for modifying headers, policy-driven retry logic for failure recover

    Javahttp-clientinterfacejava
    在 GitHub 上查看↗9,784
  • imroc/reqimroc 的头像

    imroc/req

    4,807在 GitHub 上查看↗

    req is a chainable HTTP client library for Go designed to simplify request configuration and automatic response decoding into structures. It provides a fluent-interface request builder that allows developers to incrementally define request properties and encapsulate HTTP logic into reusable API SDKs. The project distinguishes itself with a TLS fingerprint emulator that mimics browser network signatures to bypass bot detection and crawler filters. It also includes a concurrent file downloader that increases transfer speeds by fetching large remote files in parallel segments. The library cover

    Gogogolanghttp
    在 GitHub 上查看↗4,807
  • go-resty/restygo-resty 的头像

    go-resty/resty

    11,704在 GitHub 上查看↗

    Resty is a high-level HTTP client library for Go designed for consuming REST services. It provides a streamlined interface for executing network requests, managing server-sent event streams, and automatically mapping JSON and XML responses into data structures. The library includes built-in mechanisms for service resilience and traffic management, such as circuit breakers to prevent cascading failures, token-bucket rate limiting, and automated request retries with exponential backoff. It also features client-side load balancing to distribute outgoing traffic across multiple base URLs and requ

    Gobackoffcircuit-breakercurl-command
    在 GitHub 上查看↗11,704
  • shazow/urllib3shazow 的头像

    shazow/urllib3

    4,026在 GitHub 上查看↗

    urllib3 is a Python HTTP client library used to send network requests and receive responses. It provides core components for managing HTTP connection pools, routing traffic through proxies, validating TLS certificates, and executing automatic request retries. The library focuses on network reliability and efficiency by maintaining a system that reuses established connections to multiple hosts to reduce latency. It ensures secure communication through client-side certificate verification and handles transient network errors using policy-based retry logic. The project covers broad networking c

    Python
    在 GitHub 上查看↗4,026
查看 Feign 的所有 30 个替代方案→