Eine API für Fundsachen entwickeln

Entwickle mit Go eine rein lesende Katalog-API mit vollständigem JSON, kombinierten Filtern, klaren Fehlern, Tests und einer echten Website.

ProjektGolang

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Eine API für Fundsachen entwickeln ist ein praktisches Go-Projekt für Lernende, die die Sprachgrundlagen kennen und nützliche Daten über HTTP bereitstellen möchten. Vervollständige eine rein lesende API für einen gemeinschaftlichen Fundsachenkatalog und nutze anschließend die vorbereitete Website, um Gegenstände zu suchen und ihre Details zu öffnen.

Zwei Guided Labs führen dich von einem funktionierenden Beispiel mit einem Gegenstand zu Antworten für den vollständigen Katalog, wiederverwendbaren Handlern, Suche und eindeutigen Fehlerantworten. Eine eigenständige Challenge überträgt denselben Vertrag auf ein anderes Fundbüro. Jede Einheit beginnt mit einer eigenen vorbereiteten Umgebung und eigenen Daten; Dateien aus vorherigen Labs werden nicht benötigt. Plane ungefähr 120–160 Minuten ein. Das ist eine Schätzung des Autors einschließlich Lesen und üblicher Korrekturen.

Was du lernen wirst

Nach Abschluss des Kurses kannst du:

  • Anfragepfade und Methoden mit Go-HTTP-Handlern und JSON-Antworten verbinden;
  • alle Katalogeinträge zurückgeben und einzelne Gegenstände anhand ihrer ID unterscheiden, auch bei gleichen Namen;
  • Kategorie- und Stichwortfilter so kombinieren, dass Ergebnisse beide Bedingungen erfüllen;
  • eine leere Ergebnisliste von einer ungültigen Anfrage, einem fehlenden Gegenstand und einer nicht unterstützten Methode unterscheiden;
  • Handler mit httptest testen und dabei Status, Antwortinhalt und JSON-Struktur gemeinsam prüfen;
  • eine echte Website nutzen, die deine API liest, und den bereitgestellten Katalog sowie die Seite erhalten.

Für wen dieser Kurs geeignet ist

Der Kurs richtet sich an Go-Lernende, die vertraute Datenstrukturen und Funktionen zu einem kleinen Dienst verbinden möchten.

Voraussetzungen: Grundlegende Terminalnavigation sowie Go-Structs, Slices, Maps, Funktionen und Module. HTTP-Verarbeitung, JSON-Kodierung, explizite Fehlerbehandlung und Handler-Tests werden vor ihrer Verwendung erklärt. Erfahrung mit Webframeworks oder Datenbanken ist nicht erforderlich.

Lernumgebung: LabEx stellt Go, Startcode, Katalogdaten und eine WebIDE im Browser bereit. Mit dem Terminal Workspace und der Website Lost and Found entwickelst und erprobst du den Dienst, ohne Go lokal zu installieren. Website, Oberflächenbeschriftungen, Befehle und Programmausgaben bleiben auf Englisch.

Häufig gestellte Fragen

Entwickle ich auch die Website?

Die Website ist vorbereitet. Du entwickelst die Go-API, die ihre tatsächlichen Suchergebnisse und Gegenstandsdetails liefert. An der Seite beobachtest du, wie ein Verbraucher von deinen Antworten abhängt.

Welche Werkzeuge verwende ich?

Das Projekt nutzt die Go-Standardbibliothek, darunter net/http, encoding/json und httptest. Framework, Datenbank, Authentifizierungssystem und gleichzeitige Schreibzugriffe sind nicht erforderlich.

Was ändert sich in der Challenge?

Der Katalog enthält andere Einträge, Kategorien und IDs, darunter Gegenstände mit gleichem Namen. Du wendest den bereits geübten API-Vertrag selbstständig an. Die Aufgabe bleibt rein lesend; Katalogeinträge hinzuzufügen oder zu löschen gehört nicht dazu.

Lehrer

labby
Labby
Labby is the LabEx teacher.