Wie man in 30 Minuten ein REST API in C# schreibt: Schritt-für-Schritt-Anleitung

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: REST API in C# — ganz einfach



REST API (Representational State Transfer) ist ein Architekturstil, der es Clients und Servern ermöglicht, Daten über HTTP auszutauschen. In der modernen Webentwicklung sind APIs der De-facto-Standard für die Erstellung von Backends für mobile Apps, Websites und Microservices. Auf der .NET-Plattform (C#) ist die Entwicklung von REST APIs maximal optimiert: Sie können buchstäblich in einer halben Stunde einen funktionierenden Prototypen erhalten, selbst wenn Sie Anfänger sind.



In diesem Artikel erstellen wir eine vollwertige REST API zur Verwaltung einer Aufgabenliste (ToDo List). Sie erfahren, wie Sie ein ASP.NET Core Web API-Projekt einrichten, ein Datenmodell erstellen, CRUD-Operationen (Create, Read, Update, Delete) implementieren und die API über Swagger testen. Der gesamte Vorgang dauert nicht länger als 30 Minuten.



1. Projekterstellung und Abhängigkeiten installieren



Öffnen Sie zunächst Visual Studio 2022 (oder Visual Studio Code mit installiertem .NET SDK 6.0/7.0/8.0). Führen Sie die folgenden Schritte aus:



  1. Wählen Sie Neues Projekt erstellen → ASP.NET Core Web API.
  2. Benennen Sie das Projekt, z. B. TodoApi.
  3. Stellen Sie sicher, dass das Framework .NET 8.0 (oder höher) ausgewählt ist.
  4. Deaktivieren Sie das Kontrollkästchen Controller verwenden, wenn Sie die minimale API verwenden möchten, aber in diesem Tutorial verwenden wir klassische Controller – lassen Sie das Kontrollkästchen aktiviert.
  5. Klicken Sie auf Erstellen.


Nach der Projekterstellung sieht die Struktur wie folgt aus:



TodoApi/├── Controllers/├── Models/├── Program.cs└── appsettings.json


Die Installation zusätzlicher Pakete ist nicht erforderlich – alle notwendigen Komponenten sind bereits in ASP.NET Core integriert.



2. Erstellen des Datenmodells und des Datenbankkontexts



2.1. Modell TodoItem



Erstellen Sie einen Ordner Models und fügen Sie die Klasse TodoItem.cs hinzu:



namespace TodoApi.Models;

public class TodoItem{ public int Id { get; set; } public string? Title { get; set; } public bool IsComplete { get; set; }}


Dies ist ein minimales Modell: ID, Aufgabentitel und Erledigungs-Flag.



2.2. Datenbankkontext



Erstellen wir nun den Kontext für Entity Framework Core. Fügen Sie im Ordner Data (erstellen Sie ihn) die Klasse TodoContext.cs hinzu:



using Microsoft.EntityFrameworkCore;using TodoApi.Models;

namespace TodoApi.Data;

public class TodoContext : DbContext{ public TodoContext(DbContextOptions<TodoContext> options) : base(options) { }

public DbSet<TodoItem> TodoItems { get; set; }}


2.3. Konfiguration von Program.cs



Öffnen Sie Program.cs und fügen Sie die Registrierung des Kontexts und von Swagger hinzu:



using Microsoft.EntityFrameworkCore;using TodoApi.Data;

var builder = WebApplication.CreateBuilder(args);

// Controller hinzufügenbuilder.Services.AddControllers();

// Datenbankkontext registrieren (InMemory der Einfachheit halber)builder.Services.AddDbContext<TodoContext>(opt => opt.UseInMemoryDatabase("TodoList"));

// Swaggerbuilder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();

var app = builder.Build();

if (app.Environment.IsDevelopment()){ app.UseSwagger(); app.UseSwaggerUI();}

app.UseHttpsRedirection();app.UseAuthorization();app.MapControllers();

app.Run();


Beachten Sie: Wir verwenden UseInMemoryDatabase – das ist praktisch für das Prototyping. Ersetzen Sie es in einem echten Projekt durch SQL Server, PostgreSQL oder eine andere Datenbank.



3. Implementierung des Controllers mit CRUD-Operationen



Jetzt kommt der wichtigste Teil – der Controller. Erstellen Sie im Ordner Controllers die Datei TodoItemsController.cs:



using Microsoft.AspNetCore.Mvc;\                

Blogs

Buchempfehlungen