GraphQL API mit Swift: Schritt-für-Schritt-Tutorial für Anfänger

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

Einführung in GraphQL und Swift

GraphQL ist eine moderne Abfragesprache für APIs, die von Facebook entwickelt wurde. Im Gegensatz zu REST, wo Sie eine feste Datenstruktur erhalten, ermöglicht GraphQL dem Client (Ihrer Swift-App), nur die Felder anzufragen, die tatsächlich benötigt werden. Dies ist besonders relevant für mobile Entwickler, die mit iOS und macOS arbeiten: weniger Daten – weniger Traffic, schnellere Ladezeiten, bessere UX.

In diesem Tutorial werden wir durchgehen, wie Sie die GraphQL API in Ihr Swift-Projekt einbinden, grundlegende Abfragen und Mutationen durchführen. Wir werden den offiziellen Client Apollo iOS verwenden – die beliebteste und am besten unterstützte Bibliothek für die Arbeit mit GraphQL im Apple-Ökosystem.

Am Ende dieses Artikels werden Sie in der Lage sein:

  • Apollo iOS in einem Xcode-Projekt einzurichten
  • Eine GraphQL-Abfrage (Query) zu schreiben und auszuführen
  • Eine Mutation (Mutation) zum Ändern von Daten zu senden
  • Antworten und Fehler zu verarbeiten


1. Projekteinrichtung und Installation von Apollo iOS

1.1. Neues Projekt erstellen

Öffnen Sie Xcode und erstellen Sie ein neues Projekt (iOS App oder macOS App). Wählen Sie die Sprache Swift und die Oberfläche SwiftUI oder UIKit – das ist nicht entscheidend, da die Netzwerkarbeit nicht vom UI-Framework abhängt.



1.2. Installation über den Swift Package Manager

Apollo iOS lässt sich einfach über SPM einbinden. Gehen Sie zu File → Add Packages... und fügen Sie die URL ein:

https://github.com/apollographql/apollo-ios.git

Wählen Sie die neueste stabile Version (zum Zeitpunkt der Erstellung – 1.15.0) und fügen Sie das Paket zu Ihrem Target hinzu.

Installieren Sie auch die Apollo Code Generation CLI – ein Tool zur Generierung von Swift-Typen aus dem GraphQL-Schema. Am einfachsten installieren Sie es über Homebrew:

brew install apollo-ios-cli

Wenn Homebrew nicht installiert ist, können Sie npm verwenden:

npm install -g apollo-ios-cli


1.3. Initialisierung der Konfiguration

Führen Sie im Terminal im Stammverzeichnis Ihres Projekts Folgendes aus:

apollo-ios-cli init --module-name YourAppName --schema-namespace GraphQL

Dieser Befehl erstellt eine Datei apollo-codegen-config.json und einen Ordner GraphQL, in dem Ihre .graphql-Dateien gespeichert werden.

Fügen Sie nun das Schema des Servers zum Projekt hinzu. Wenn der Server schema.json oder schema.graphqls bereitstellt, kopieren Sie es in den Ordner GraphQL. Wenn nicht, können Sie den integrierten Befehl zum Herunterladen verwenden:

apollo-ios-cli fetch-schema --endpoint=https://your-graphql-endpoint.com/graphql


2. Unsere erste GraphQL-Abfrage (Query) schreiben

2.1. .graphql-Datei erstellen

Erstellen Sie im Ordner GraphQL eine Datei Queries.graphql und schreiben Sie eine einfache Abfrage. Nehmen wir an, wir haben eine API zum Abrufen einer Liste von Benutzern:

query GetUsers {  users {    id    name    email  }}


2.2. Generierung von Swift-Code

Starten Sie die Codegenerierung vom Terminal aus:

apollo-ios-cli generate

Nach erfolgreicher Generierung erscheint im Ordner Sources/API (oder dem von Ihnen angegebenen) eine Datei API.swift mit den Typen GetUsersQuery, GetUsersQuery.Data usw.



2.3. Ausführen der Abfrage aus Swift

Jetzt erstellen wir eine Instanz des Apollo-Clients und führen die Abfrage aus. Schreiben Sie in Ihre ContentView.swift (oder eine beliebige andere Datei):

import Apolloimport SwiftUI

class NetworkManager { static let shared = NetworkManager() private(set) lazy var apollo = ApolloClient(url: URL(string: "https://your-graphql-endpoint.com/graphql")!)}

struct ContentView: View { @State private var users: [GetUsersQuery.Data.User] = [] var body: some View { List(users, id: \\.id) { user in VStack(alignment: .leading) { Text(user.name)

Blogs

Buchempfehlungen