awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
square avatar

square/retrofit

0
View on GitHub↗
43,895 stars·7,339 forks·HTML·Apache-2.0·16 viewssquare.github.io/retrofit↗

Retrofit

Retrofit is a type-safe HTTP client that simplifies network communication by allowing developers to define API endpoints as interface methods. By using annotation-driven request mapping, it automatically translates these interface definitions into structured HTTP requests, ensuring consistent data structures and reducing manual configuration when interacting with remote web services.

The project distinguishes itself through a highly modular architecture that separates network transport from data handling. It utilizes dynamic proxy generation to process method calls at runtime and offers a pluggable converter system that automates the serialization and deserialization of request and response bodies. Furthermore, its call adapter pattern enables the transformation of network execution results into various asynchronous types or observable streams, providing flexibility in how applications manage background operations and data flows.

Beyond its core request handling, the library supports a wide range of network operations, including URL, header, and request body manipulation, as well as form-encoded and multipart data. It provides built-in support for mocking server responses to facilitate testing and includes extensive integration options for various data formats and reactive programming libraries. The documentation provides comprehensive guidance on configuring these adapters and converters to suit specific project requirements.

Features

  • Declarative API Clients - Defines HTTP endpoints using annotations for clean networking code.
  • HTTP Clients - Provides a declarative interface for defining network requests that automatically maps remote service endpoints to local language methods and data structures.
  • Request Mappings - Maps method parameters and interface definitions to HTTP components like headers, paths, and query parameters using metadata.
  • Call Adapters - Enables the transformation of network execution results into various asynchronous types or observable streams via modular adapters.
  • Data Converters - Decouples data serialization from network transport by allowing interchangeable modules to transform request and response bodies.
  • Data Serialization - Automates the conversion of network responses into native objects.
  • Dynamic Proxies - Uses dynamic proxies to transform annotated interface method calls into structured HTTP request objects at runtime.
  • Android Libraries - Type-safe HTTP client for API interaction.
  • Networking Libraries - Provides a type-safe REST client for Android and Java.
  • Reactive Libraries - Integrates reactive streams into network communication layers.
  • More to explore - Type-safe HTTP client for Android and JVM.
  • Execution Strategies - Supports both blocking and non-blocking network operations by delegating request dispatching to a configurable underlying HTTP client.
  • Reactive Networking - Adapts network requests into observable streams for complex data flows.
  • Kotlin Extensions - Provides first-class support for Kotlin language features and idioms.
  • API Mocking - Provides support for mocking network requests in tests.
  • Asynchronous Patterns - Provides support for both synchronous and asynchronous network request patterns.
  • Request Adapters - Allows transforming default network request interfaces into custom types to simplify data handling.
  • Serialization Converters - Enables the definition of custom rules to serialize and deserialize request and response bodies.
  • Header Management - Allows for the dynamic manipulation of HTTP request headers.
  • HTTP Methods - Enables the specification of HTTP request methods through annotations.
  • Network Request Adapters - Adapts network calls into custom asynchronous execution patterns.
  • Request Body Handling - Supports flexible definition and serialization of request bodies.
  • URL Construction - Allows for dynamic construction and manipulation of request URLs.

Star history

Star history chart for square/retrofitStar history chart for square/retrofit

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Retrofit

Similar open-source projects, ranked by how many features they share with Retrofit.
  • openfeign/feignOpenFeign avatar

    OpenFeign/feign

    9,784View on 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
    View on GitHub↗9,784
  • reactiveui/refitreactiveui avatar

    reactiveui/refit

    9,513View on GitHub↗

    Refit is a type-safe REST client for .NET that transforms API definitions into live interfaces. It functions as an automatic API proxy generator, allowing developers to define endpoints as interfaces to eliminate manual HTTP request boilerplate. The library is designed for compatibility with ahead-of-time compilation and trimmed binaries, utilizing build-time source generation to ensure support for native AoT deployments. The project covers a broad range of API integration capabilities, including attribute-driven request composition, automatic JSON deserialization, and request header managem

    C#c-sharpdotnetdotnet-core
    View on GitHub↗9,513
  • square/okhttpsquare avatar

    square/okhttp

    46,971View on GitHub↗

    OkHttp is an HTTP client for the JVM and Android that enables network communication via synchronous and asynchronous requests. It provides a core identity as a comprehensive networking toolkit featuring a WebSocket client for bidirectional data synchronization, a TLS security toolkit for encrypted communication, and a programmable HTTP mock server for simulating backend responses. The project distinguishes itself through a specialized security and performance architecture. It implements mutual TLS, certificate pinning, and DNS over HTTPS to secure data in transit, while utilizing connection p

    Kotlinandroidgraalvmjava
    View on GitHub↗46,971
  • netflix/feignNetflix avatar

    Netflix/feign

    9,783View on GitHub↗

    Feign is a declarative Java HTTP client that automates the generation of web service clients. It allows developers to define REST API endpoints using interfaces and annotations, removing the need to write manual request and response boilerplate code. The project uses dynamic proxies to map method calls to HTTP request templates. It features a pluggable pipeline of encoders and decoders to transform Java objects into request bodies and convert response bodies back into type-safe objects. The library covers a broad range of integration capabilities, including request interception for header ma

    Java
    View on GitHub↗9,783
See all 30 alternatives to Retrofit→

Frequently asked questions

What does square/retrofit do?

Retrofit is a type-safe HTTP client that simplifies network communication by allowing developers to define API endpoints as interface methods. By using annotation-driven request mapping, it automatically translates these interface definitions into structured HTTP requests, ensuring consistent data structures and reducing manual configuration when interacting with remote web services.

What are the main features of square/retrofit?

The main features of square/retrofit are: Declarative API Clients, HTTP Clients, Request Mappings, Call Adapters, Data Converters, Data Serialization, Dynamic Proxies, Android Libraries.

What are some open-source alternatives to square/retrofit?

Open-source alternatives to square/retrofit include: openfeign/feign — Feign is a declarative Java HTTP client framework that maps method signatures to REST API requests. It functions as an… reactiveui/refit — Refit is a type-safe REST client for .NET that transforms API definitions into live interfaces. It functions as an… square/okhttp — OkHttp is an HTTP client for the JVM and Android that enables network communication via synchronous and asynchronous… netflix/feign — Feign is a declarative Java HTTP client that automates the generation of web service clients. It allows developers to… restkit/restkit — RestKit is an iOS REST API integration framework used to connect Apple platform applications to web services. It… rengwuxian/rxjavasamples — RxJavaSamples is a collection of reference implementations and practical guides for applying reactive patterns to…