Wie man in 30 Minuten ein REST API in Swift schreibt

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: Warum REST API auf Swift schnell und modern ist

Die Entwicklung mobiler Anwendungen für iOS und macOS erfordert nicht nur eine schöne Oberfläche, sondern auch ein zuverlässiges Server-Backend. REST API (Representational State Transfer) bleibt der De-facto-Standard für den Datenaustausch zwischen Client und Server. Wenn Sie bereits in Swift für das Apple-Ökosystem schreiben, ist die Erstellung einer API in derselben Sprache ein logischer Schritt. Dies ermöglicht die Wiederverwendung von Datenmodellen, vermeidet Code-Duplikation und ermöglicht schnellere Änderungen.

In diesem Artikel zeigen wir Ihnen, wie Sie eine vollwertige REST API in Swift mit dem Vapor Framework schreiben – dem beliebtesten Web-Framework für Swift. Sie lernen, wie Sie ein Projekt einrichten, Routen erstellen, JSON verarbeiten und den Server starten. Der gesamte Vorgang dauert nicht länger als 30 Minuten. Bereit? Los geht's!



1. Umgebungseinrichtung und Installation von Vapor

Bevor Sie Code schreiben, stellen Sie sicher, dass die erforderlichen Tools installiert sind. Die Arbeit mit Vapor erfordert Swift 5.9 oder neuer (Swift 6 wird empfohlen). Sie benötigen außerdem ein Terminal und einen Code-Editor (Xcode oder VS Code).

Installieren der Vapor Toolbox

Die Vapor Toolbox ist ein Befehlszeilentool, das die Erstellung und Verwaltung von Projekten vereinfacht. Installieren Sie es über Homebrew:

brew install vapor

Wenn Homebrew nicht installiert ist, laden Sie es von brew.sh herunter. Überprüfen Sie nach der Installation die Version:

vapor --version

Erstellen eines neuen Projekts

Öffnen Sie das Terminal und führen Sie den Befehl aus:

vapor new MyAPI --template=api

Das Flag --template=api erstellt eine Grundstruktur für eine REST API ohne unnötige Dateien. Navigieren Sie zum Projektordner:

cd MyAPI

Öffnen Sie nun das Projekt in Xcode:

open Package.swift

Oder verwenden Sie einen anderen Editor. Fertig! Sie haben eine saubere Vapor-Vorlage.



2. Grundlegende Struktur: Modelle, Controller und Routen

Vapor verwendet die MVC-Architektur (Model-View-Controller), die für die Serverentwicklung angepasst ist. Wir werden eine einfache API zur Verwaltung einer To-Do-Liste erstellen.

Erstellen des Modells

Ein Modell ist eine Struktur, die die Daten beschreibt. Erstellen Sie im Ordner Sources/App/Models/ eine Datei Todo.swift:

import Fluentimport Vapor

final class Todo: Model, Content { static let schema = "todos" @ID(key: .id) var id: UUID? @Field(key: "title") var title: String @Field(key: "is_completed") var isCompleted: Bool init() { } init(id: UUID? = nil, title: String, isCompleted: Bool = false) { self.id = id self.title = title self.isCompleted = isCompleted }}

Wir verwenden Fluent – das ORM von Vapor für die Arbeit mit Datenbanken. Das Modell wird dank des Content-Protokolls automatisch in JSON serialisiert.

Erstellen des Controllers

Der Controller enthält die Logik zur Verarbeitung von Anfragen. Erstellen Sie eine Datei Sources/App/Controllers/TodoController.swift:

import Vaporimport Fluent

struct TodoController: RouteCollection { func boot(routes: RoutesBuilder) throws { let todos = routes.grouped("todos") todos.get(use: index) todos.post(use: create) todos.group(":todoID") { todo in todo.delete(use: delete) } } // GET /todos — alle Aufgaben abrufen func index(req: Request) async throws -> [Todo] { try await Todo.query(on: req.db).all() } // POST /todos — eine Aufgabe erstellen func create(req: Request) async throws -> Todo { let todo = try req.content.decode(Todo.self) try await todo.save(on: req.db) return todo } // DELETE /todos/:id — eine Aufgabe löschen func delete(req: R

Blogs

Buchempfehlungen