Skip to content
Tech42 Software Solutions GmbH

Einführung in .NET Core APIs: Minimal API vs. Full API Controller

Minimal API oder Full API Controller? Beide Ansätze haben ihre Stärken — wann welcher passt, mit C#-Beispielen für beide Varianten.

Jan Raddatz · 5 Min. Lesezeit · .NET / API / ASP.NET Core
.NET Core APIs — Minimal API und Full API Controller in ASP.NET Core im Vergleich.

Was sind Minimal APIs?

Minimal APIs wurden in .NET 6 als eine einfachere Möglichkeit zur Erstellung von HTTP-APIs eingeführt. Sie zielen darauf ab, den Boilerplate-Code, der für die Einrichtung einer grundlegenden Web-API erforderlich ist, zu reduzieren. Sie sind für Mikrodienste, kleine Anwendungen oder Situationen konzipiert, in denen Einfachheit und Geschwindigkeit Priorität haben.

Schlüsselmerkmale von Minimal APIs

  • Einfachheit: Ein minimalistischer Ansatz für die API-Entwicklung, der weniger Codezeilen erfordert, um ähnliche Ergebnisse zu erzielen.
  • Performance: Potenziell höhere Leistung aufgrund des verringerten Overheads.
  • Einfache Einrichtung: Schnell einzurichten für kleine Anwendungen oder Mikrodienste, ideal für schnelle Entwicklung.

Was sind Full API Controller?

Full API Controller sind der traditionelle Weg zum Erstellen von APIs in .NET Core. Sie nutzen einen ausgereifteren Ansatz mit einer strukturierten Organisation von Endpunkten, die in Controllern zusammengefasst werden. Diese Methode ist besonders geeignet für größere Anwendungen oder Projekte, bei denen eine klare Trennung von Anliegen, umfangreiche Konfigurationen und erweiterte Funktionalitäten gefordert sind.

Schlüsselmerkmale von Full API Controllern

  • Strukturierte Organisation: APIs werden in Controllern organisiert, was eine klare Trennung von Anliegen und eine bessere Übersichtlichkeit ermöglicht.
  • Erweiterte Funktionen: Unterstützt umfangreiche Konfigurationen und Funktionen wie Dependency Injection, Middleware-Integration und mehr.
  • Flexibilität: Eignet sich besser für komplexe Anwendungen mit vielfältigen Anforderungen.

Minimal API Beispiel

Minimal APIs wurden mit .NET 6 eingeführt, um die Erstellung von Web-APIs zu vereinfachen. Sie sind besonders nützlich für kleinere Anwendungen oder Mikrodienste, bei denen eine geringere Komplexität gewünscht ist. Hier ist ein einfaches Beispiel:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/produkt/{id}", (int id) =>
{
    // Beispielhafte Logik zur Produktsuche
    var produkt = new { Id = id, Name = "Beispielprodukt", Preis = 9.99 };
    return Results.Ok(produkt);
});

app.Run();

In diesem Beispiel wird eine GET-Anfrage definiert, die ein Produkt anhand seiner ID abruft. Die MapGet-Methode nimmt einen Pfad als ersten Parameter und eine Funktion, die aufgerufen wird, wenn der Pfad abgefragt wird, als zweiten Parameter.

Full API Beispiel

Full API Controller nutzen den traditionelleren Ansatz mit Controllern und Aktionen, um die Endpunkte zu definieren. Dieser Ansatz bietet mehr Struktur und ist für größere Anwendungen mit komplexeren Anforderungen geeignet. Hier ist, wie dasselbe Szenario wie oben mit einem Full API Controller implementiert werden könnte:

using Microsoft.AspNetCore.Mvc;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapControllers();

app.Run();

[ApiController]
[Route("[controller]")]
public class ProduktController : ControllerBase
{
    [HttpGet("{id}")]
    public IActionResult GetProdukt(int id)
    {
        // Beispielhafte Logik zur Produktsuche
        var produkt = new { Id = id, Name = "Beispielprodukt", Preis = 9.99 };
        return Ok(produkt);
    }
}

In diesem Beispiel definiert die ProduktController-Klasse eine Methode GetProdukt, die bei einer GET-Anfrage aufgerufen wird. Der Controller und die Methode nutzen Attribute, um den Pfad und die HTTP-Methode festzulegen.

Vergleich und Auswahl

Die Wahl zwischen Minimal APIs und Full API Controllern hängt von verschiedenen Faktoren ab, einschließlich der Projektgröße, der Komplexität der Anwendung und der persönlichen Vorliebe des Entwicklers. Minimal APIs bieten einen schnellen und einfachen Start, ideal für kleinere Projekte oder Prototypen. Full API Controller bieten dagegen mehr Struktur und Flexibilität für komplexe Anwendungen.

Fazit

Die Entscheidung zwischen Minimal APIs und Full API Controllern in .NET Core ist ein wesentlicher Schritt bei der Planung und Entwicklung von Webdiensten. Beide Ansätze bieten spezifische Vorteile, die je nach Projektanforderungen und Entwicklungszielen ausgewählt werden sollten. Minimal APIs sind ideal für die schnelle Entwicklung von kleineren Projekten, bei denen Einfachheit und Geschwindigkeit im Vordergrund stehen. Full API Controller hingegen bieten eine strukturierte und erweiterte Plattform für umfangreiche Anwendungen, die eine detaillierte Organisation und komplexe Funktionalitäten erfordern.

Unabhängig von der gewählten Methode ist es wichtig, dass die Entwicklung von Webdiensten mit einer klaren Strategie und einem tiefen Verständnis für die zur Verfügung stehenden Werkzeuge erfolgt. Tech42 unterstützt Sie bei der Entwicklung maßgeschneiderter Software-Lösungen — von Minimal API bis Full Controller-Architektur. Sprechen Sie uns an, wenn Sie für Ihr Projekt eine ehrliche technische Einschätzung wollen.

Lust auf ein Gespräch?

Wenn Sie hier weitergelesen haben, lohnt sich vielleicht auch ein direktes Gespräch. Erstgespräch unverbindlich.