Assignment Chef icon Assignment Chef
All German tutorials

Programming lesson

Fetch API und die Met Museum: Schritt-für-Schritt-Anleitung für CPSC1520

Lerne, wie du die Fetch API verwendest, um Daten von der Met Museum REST API abzurufen und in einer JavaScript-Webanwendung darzustellen. Inklusive Codebeispiele und Best Practices.

Fetch API Met Museum API JavaScript Tutorial CPSC1520 REST API asynchrone Programmierung DOM Manipulation Webentwicklung Kunstgalerie App GitHub Workflow async/await Museumsdaten abrufen Client-seitige Anwendung JavaScript Übungen API Integration Studienprojekt Webentwicklung

Fetch API im Einsatz: Daten vom Metropolitan Museum of Art abrufen

Die Fetch API ist ein zentrales Werkzeug in modernen JavaScript-Anwendungen. In diesem Tutorial zeigen wir dir, wie du mit fetch Daten von der öffentlichen REST API des Metropolitan Museum of Art (Met Museum) abrufst und in einer Webseite darstellst. Dieses Beispiel orientiert sich an einer typischen Übung aus dem Kurs CPSC1520 und hilft dir, das Zusammenspiel von asynchronen Requests und DOM-Manipulation zu verstehen.

Warum die Fetch API?

Stell dir vor, du entwickelst eine Kunstgalerie-App, die aktuelle Ausstellungsstücke anzeigt – ähnlich wie eine Museums-App, die täglich neue Werke präsentiert. Die Fetch API ermöglicht es dir, diese Daten dynamisch zu laden, ohne die Seite neu zu laden. Das ist besonders nützlich, wenn du mit REST APIs arbeitest, wie sie auch in vielen modernen Webanwendungen und KI-Tools verwendet werden.

Schritt 1: Die Grundstruktur der Fetch-Anfrage

Zunächst erstellen wir die Funktion getMuseumObjectsData. Diese Funktion soll eine Liste von Objekt-IDs vom Met Museum abrufen und dann für jede ID die Detaildaten laden. Wir nutzen dazu die Met Museum API und die Dokumentation unter metmuseum.github.io.

async function getMuseumObjectsData() {
  const objectIDs = [1, 2, 3, 4, 5]; // Beispiel-IDs
  for (let id of objectIDs) {
    const response = await fetch(`https://collectionapi.metmuseum.org/public/collection/v1/objects/${id}`);
    const data = await response.json();
    console.log(data); // Überprüfe die Daten in der Konsole
    renderGalleryCard(data.title, data.primaryImage, data.artistDisplayName, data.objectDate, data.objectWikidata_URL);
  }
}

Beachte: In der echten Übung würdest du die IDs aus einem vorherigen API-Aufruf holen. Der console.log hilft dir, die Struktur der Antwort zu verstehen – ein wichtiger Schritt beim Debuggen von JavaScript-Projekten.

Schritt 2: Daten rendern mit renderGalleryCard

Die Funktion renderGalleryCard erzeugt HTML für jede Museumskarte. Sie erwartet fünf Parameter: Titel, Bild, Künstlername, Datum und Wikidata-URL.

function renderGalleryCard(title, image, artistName, date, wikiDataUrl) {
  const gallery = document.querySelector('.museum-gallery');
  const templateString = `
    <div class='gallery-card'>
      <h3>${title}</h3>
      <img src='${image}' alt='${title}' />
      <p><strong>Künstler:</strong> ${artistName}</p>
      <p><strong>Datum:</strong> ${date}</p>
      <a href='${wikiDataUrl}' target='_blank'>WikiData</a>
    </div>
  `;
  gallery.innerHTML += templateString;
}

Diese Vorgehensweise ist typisch für Client-seitige Webentwicklung. Du siehst, wie wir mit Template Strings dynamisches HTML erzeugen – eine Technik, die auch in Frameworks wie React verwendet wird.

Trend-Beispiel: Kunstgalerie wie eine Spotify-Playlist

Stell dir vor, du baust eine App, die täglich wechselnde Kunstwerke anzeigt – ähnlich wie Spotify personalisierte Playlists erstellt. Mit der Fetch API könntest du sogar eine KI-gestützte Empfehlung integrieren, die basierend auf deinen Favoriten neue Objekte vorschlägt. Das zeigt, wie grundlegend diese API für moderne, interaktive Anwendungen ist.

Fehlerbehandlung und Best Practices

In der Praxis solltest du immer Fehler abfangen, z.B. mit try-catch. Auch das Caching von API-Antworten kann die Leistung verbessern. Ein weiterer Tipp: Nutze async/await statt Promise-Ketten, um den Code lesbarer zu machen – das ist besonders in Studienprojekten hilfreich.

async function getMuseumObjectsData() {
  try {
    // ... Code wie oben
  } catch (error) {
    console.error('Fehler beim Abrufen der Daten:', error);
  }
}

GitHub-Workflow für die Abgabe

Nachdem du den Code geschrieben hast, pushst du ihn auf GitHub. Der typische Workflow:

  1. Repository klonen: git clone <REPO_URL>
  2. Änderungen vornehmen und speichern
  3. Dateien hinzufügen: git add .
  4. Committen: git commit -m 'Fetch API implementiert'
  5. Pushen: git push

Dieser Workflow ist Standard in der Softwareentwicklung und wird auch in vielen Bootcamps gelehrt.

Häufige Fehler und Lösungen

  • Falsche URL: Überprüfe die Endpunkte in der API-Dokumentation.
  • CORS-Probleme: Die Met Museum API erlaubt Cross-Origin-Requests, bei anderen APIs kann ein Proxy nötig sein.
  • Asynchrone Schleifen: Achte darauf, dass du await in der Schleife richtig verwendest, sonst werden Requests parallel ausgeführt.

Fazit

Die Fetch API ist ein mächtiges Werkzeug, das dir ermöglicht, dynamische Webanwendungen zu bauen. Mit diesem Tutorial hast du die Grundlagen gelernt, um Daten von einer REST API abzurufen und im DOM darzustellen. Übung macht den Meister – probiere weitere Endpunkte der Met Museum API aus oder erstelle eine eigene Kunstgalerie-App mit Suchfunktion. Viel Erfolg bei deinem CPSC1520-Projekt!