Einleitung: REST-API in C# ist einfach
Das Erstellen einer modernen REST-API in C# mit ASP.NET Core ist eine der gefragtesten Aufgaben im Backend-Entwicklungsbereich. Viele Anfänger denken, dass das Schreiben einer vollwertigen API Wochen der Vorbereitung erfordert. In der Realität können Sie mit den richtigen Werkzeugen in buchstäblich 30 Minuten eine funktionierende REST-API in C# erstellen.
In diesem Artikel werden wir praktisch durchgehen, wie man eine REST-API in C# von Grund auf schreibt. Wir erstellen einen einfachen Microservice zur Verwaltung einer Aufgabenliste (Todo List) unter Verwendung der integrierten Funktionen von ASP.NET Core. Sie lernen, wie Sie Routing einrichten, CRUD-Operationen implementieren und die API über Swagger UI testen.
1. Projekteinrichtung in 5 Minuten
Stellen Sie zunächst sicher, dass Sie .NET SDK 6.0 oder neuer installiert haben. Wenn nicht, laden Sie es von der offiziellen Microsoft-Website herunter. Öffnen Sie ein Terminal und führen Sie die folgenden Befehle aus:
dotnet new webapi -n TodoApicd TodoApicode .Diese Befehle erstellen ein neues Web-API-Projekt und öffnen es in Visual Studio Code. Die Projektstruktur enthält mehrere wichtige Dateien:
Program.cs— Einstiegspunkt und DienstkonfigurationControllers/— Ordner für API-Controllerappsettings.json— Konfigurationsdatei
Standardmäßig enthält das Projekt bereits einen Beispiel-Controller WeatherForecastController. Wir werden ihn löschen und unseren eigenen erstellen.
Wichtig: Stellen Sie sicher, dass die Datei Program.cs die Zeilen builder.Services.AddControllers(); und app.MapControllers(); enthält. Dies ist die Standardkonfiguration für eine REST-API in C#.
2. Erstellen des Datenmodells und des Controllers (10 Minuten)
Beginnen wir mit der Erstellung eines Datenmodells. Erstellen Sie im Stammverzeichnis des Projekts einen Ordner Models und fügen Sie eine Datei TodoItem.cs hinzu:
public class TodoItem{ public int Id { get; set; } public string Title { get; set; } = string.Empty; public bool IsComplete { get; set; } public DateTime CreatedAt { get; set; } = DateTime.UtcNow;}Jetzt erstellen wir den Controller. Fügen Sie im Ordner Controllers eine Datei TodoController.cs hinzu. Dies ist das Herzstück unserer REST-API in C#:
[ApiController][Route("api/[controller]")]public class TodoController : ControllerBase{ private static List<TodoItem> _todos = new(); private static int _nextId = 1;
[HttpGet] public IActionResult GetAll() { return Ok(_todos); }
[HttpGet("{id}")] public IActionResult GetById(int id) { var todo = _todos.FirstOrDefault(t => t.Id == id); if (todo == null) return NotFound(); return Ok(todo); }
[HttpPost] public IActionResult Create(TodoItem item) { item.Id = _nextId++; _todos.Add(item); return CreatedAtAction(nameof(GetById), new { id = item.Id }, item); }
[HttpPut("{id}")] public IActionResult Update(int id, TodoItem item) { var existing = _todos.FirstOrDefault(t => t.Id == id); if (existing == null) return NotFound(); existing.Title = item.Title; existing.IsComplete = item.IsComplete; return NoContent(); }
[HttpDelete("{id}")] public IActionResult Delete(int id) { var todo = _todos.FirstOrDefault(t => t.Id == id); if (todo == null) return NotFound(); _todos.Remove(todo); return NoContent(); }}Achten Sie auf die Attribute:
[ApiController]— aktiviert die automatische Modellvalidierung[Route("api/[controller]")]— setzt die Basisroute/api/todo[HttpGet], [HttpPost], [HttpPut], [HttpDelete]— binden