Zurück zum Blog
Backend August 2024 4 Min Lesezeit

Effiziente API-Integration mit Refit, Polly & Refitter

MN

Michael Nikolaus

Vorstand & Softwarearchitekt, Minicon eG

In modernen .NET-Anwendungen ist die Integration externer APIs alltäglich. Drei Bibliotheken machen diesen Prozess deutlich eleganter und robuster: Refit, Polly und Refitter.

🔌 Refit: Type-Safe HTTP Clients

Refit generiert aus einem einfachen C#-Interface einen vollständigen HTTP-Client. Statt manuell HttpClient-Aufrufe zu schreiben, definiert man das gewünschte API als Interface mit Attributen:

public interface IUserApi
{
    [Get("/users/{id}")]
    Task<User> GetUser(int id);

    [Post("/users")]
    Task<User> CreateUser([Body] CreateUserRequest request);
}

Refit kümmert sich um Serialisierung, Deserialisierung und URL-Templating. Das reduziert Boilerplate-Code erheblich und macht API-Clients testbar.

🛡️ Polly: Resilience & Transient Fault Handling

Externe APIs sind nicht immer verfügbar. Polly bietet Policies für Retry, Circuit Breaker, Timeout und Fallback:

🔄

Retry

Automatische Wiederholung bei transienten Fehlern (5xx, Timeout)

Circuit Breaker

Stoppt Aufrufe nach wiederholten Fehlern, gibt dem Service Zeit zur Erholung

⏱️

Timeout

Verhindert, dass ein langsamer Service die Anwendung blockiert

⚙️ Refitter: OpenAPI → Refit Interface

Das Highlight: Refitter generiert automatisch Refit-Interfaces aus einer OpenAPI/Swagger-Spezifikation. Wenn der API-Anbieter sein Swagger-Dokument aktualisiert, kann man mit einem einzigen Befehl den Client neu generieren.

Workflow: OpenAPI-Spec → Refitter → Refit Interface → Polly Policies → Fertiger, robuster API-Client

📊 Praxisbeispiel

Bei einem Kundenprojekt haben wir über 15 externe APIs integriert — von Zahlungsanbietern bis zu ERP-Systemen. Durch den Einsatz von Refit + Polly + Refitter konnten wir:

~60%

Weniger Entwicklungszeit für neue API-Integrationen

95%

Weniger Fehler bei transienten Netzwerkproblemen

Auto

API-Clients automatisch aktuell bei Spec-Änderungen

Fazit

Die Kombination aus Refit, Polly und Refitter ist ein Game-Changer für .NET-Backend-Entwicklung. Type-Safety, Resilience und Automatisierung in einem eleganten Stack.

Interesse geweckt?

Lassen Sie uns über Ihr Projekt sprechen

Das erste Gespräch ist kostenlos. Wir hören Ihnen zu und finden die beste Lösung für Sie.

Kontakt aufnehmen