Wie man ein REST API in C# in 30 Minuten 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# – schnell und einfach

Die Entwicklung moderner Webanwendungen und mobiler Dienste ist ohne REST API nicht möglich. Wenn Sie schnell ein Backend für Ihr Projekt erstellen möchten, ist C# mit dem ASP.NET Core Framework die ideale Wahl. Dank integrierter Tools, minimaler Konfiguration und hervorragender Leistung können Sie buchstäblich in 30 Minuten eine vollwertige REST API schreiben.

In diesem Artikel werden wir den Prozess der Erstellung einer einfachen API zur Verwaltung einer Aufgabenliste (Todo List) durchgehen. Sie erfahren, wie Sie das Projekt einrichten, Datenmodelle erstellen, Controller mit CRUD-Operationen implementieren und die API mit Swagger testen. Alle Codebeispiele sind in C# (.NET 8) geschrieben.

Auch wenn Sie ein Anfänger in C# sind, erhalten Sie durch Befolgen der Anweisungen am Ende des Artikels eine funktionierende API.



1. Projekterstellung und Umgebungseinrichtung

Stellen Sie zunächst sicher, dass Sie das .NET SDK (Version 8 oder höher) installiert haben. Sie können es von der offiziellen Website herunterladen. Öffnen Sie nach der Installation ein Terminal oder eine Eingabeaufforderung.

Erstellen Sie ein neues ASP.NET Core Web API Projekt mit dem Befehl:

dotnet new webapi -n TodoApicd TodoApi

Dieser Befehl erstellt einen Ordner TodoApi mit der grundlegenden Projektstruktur. Er enthält bereits die Datei Program.cs – den Einstiegspunkt – und einen Ordner Controllers für zukünftige Controller.

Öffnen Sie das Projekt in Visual Studio, Visual Studio Code oder Rider. Der Einfachheit halber können Sie einen beliebigen Texteditor verwenden.

Stellen Sie sicher, dass in der Datei Program.cs die Aufrufe AddSwaggerGen() und UseSwagger() vorhanden sind. Swagger ist in der Vorlage standardmäßig enthalten – das vereinfacht das Testen. Falls nicht, fügen Sie hinzu:

builder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();// ...app.UseSwagger();app.UseSwaggerUI();


2. Erstellung des Datenmodells und des temporären Speichers

Für unsere API werden wir Aufgaben im Arbeitsspeicher (in-memory) speichern. In einem echten Projekt würden Sie eine Datenbank anbinden, aber für die Demonstration einer 30-minütigen Lösung ist dies ausreichend.

Erstellen Sie einen Ordner Models und darin die Datei TodoItem.cs:

public class TodoItem{    public int Id { get; set; }    public string Title { get; set; } = string.Empty;    public bool IsCompleted { get; set; }}

Jetzt erstellen wir einen einfachen Service-Repository. Erstellen Sie im Ordner Services das Interface ITodoService.cs und seine Implementierung TodoService.cs. Dies ermöglicht einen einfachen Wechsel zu einer echten Datenbank in der Zukunft.

ITodoService.cs:

public interface ITodoService{    List<TodoItem> GetAll();    TodoItem? GetById(int id);    TodoItem Create(TodoItem item);    TodoItem? Update(int id, TodoItem item);    bool Delete(int id);}

TodoService.cs:

public class TodoService : ITodoService{    private readonly List<TodoItem> _items = new();    private int _nextId = 1;

public List<TodoItem> GetAll() => _items;

public TodoItem? GetById(int id) => _items.FirstOrDefault(i => i.Id == id);

public TodoItem Create(TodoItem item) { item.Id = _nextId++; _items.Add(item); return item; }

public TodoItem? Update(int id, TodoItem item) { var existing = GetById(id); if (existing == null) return null; existing.Title = item.Title; existing.IsCompleted = item.IsCompleted; return existing; }

public bool Delete(int id) { var item = GetById(id); if (item == null) return false; return _items.Remove(item); }}

Registrieren Sie den Service im DI-Container in Program.cs:

<                

Blogs

Buchempfehlungen