Back

Wie man Axios in Node.js verwendet (mit Codebeispielen)

Wie man Axios in Node.js verwendet (mit Codebeispielen)

Axios ist ein promise-basierter HTTP-Client, der das Senden von HTTP-Anfragen in Node.js vereinfacht. Es rationalisiert Aufgaben wie das Senden von GET- und POST-Anfragen, die Verarbeitung von Antworten und die Verwaltung von Fehlern. In diesem Leitfaden werden wir anhand praktischer Codebeispiele untersuchen, wie man Axios in Node.js verwendet.

Wichtige Erkenntnisse

  • Axios bietet eine einfache API für HTTP-Anfragen in Node.js.
  • Es nutzt Promises für saubereren asynchronen Code.
  • Bietet unkomplizierte Mechanismen zur Behandlung verschiedener Fehlerszenarien.

Einrichten von Axios in Node.js

Um mit Axios in Ihrem Node.js-Projekt loszulegen:

  1. Initialisieren Sie Ihr Projekt (falls noch nicht geschehen):

    npm init -y
    
  2. Installieren Sie Axios:

    npm install axios
    
  3. Binden Sie Axios in Ihre Anwendung ein:

    const axios = require('axios');
    

GET-Anfragen senden

Eine GET-Anfrage ruft Daten von einem bestimmten Endpunkt ab. So führen Sie eine GET-Anfrage mit Axios durch:

const axios = require('axios');

async function fetchData() {
  try {
    const response = await axios.get('https://jsonplaceholder.typicode.com/posts/1');
    console.log(response.data);
  } catch (error) {
    console.error('Fehler beim Abrufen der Daten:', error);
  }
}

fetchData();

Erklärung:

  • Definiert eine asynchrone Funktion fetchData.
  • Verwendet await, um eine Axios GET-Anfrage zu stellen.
  • Protokolliert Antwortdaten in der Konsole.
  • Behandelt Fehler mit try...catch.

POST-Anfragen senden

Eine POST-Anfrage sendet Daten an einen Server, um eine neue Ressource zu erstellen. So führen Sie eine POST-Anfrage durch:

const axios = require('axios');

async function createPost() {
  try {
    const response = await axios.post('https://jsonplaceholder.typicode.com/posts', {
      title: 'Neuer Beitrag',
      body: 'Dies ist der Inhalt des neuen Beitrags.',
      userId: 1,
    });
    console.log('Beitrag erstellt:', response.data);
  } catch (error) {
    console.error('Fehler beim Erstellen des Beitrags:', error);
  }
}

createPost();

Erklärung:

  • Definiert eine asynchrone Funktion createPost.
  • Verwendet await mit axios.post() und übergibt den Endpunkt und das Datenobjekt.
  • Protokolliert den neu erstellten Beitrag.
  • Behandelt Fehler ordnungsgemäß.

Umgang mit Antworten und Fehlern

Axios bietet eine strukturierte Möglichkeit, Antworten und Fehler zu behandeln. Das Antwortobjekt enthält Eigenschaften wie data, status und headers.

So gehen Sie mit verschiedenen Fehlertypen um:

const axios = require('axios');

async function fetchData() {
  try {
    const response = await axios.get('https://jsonplaceholder.typicode.com/posts/1');
    console.log('Daten:', response.data);
    console.log('Status:', response.status);
  } catch (error) {
    if (error.response) {
      // Server antwortete mit einem Statuscode außerhalb von 2xx
      console.error('Fehlerdaten:', error.response.data);
      console.error('Fehlerstatus:', error.response.status);
    } else if (error.request) {
      // Keine Antwort erhalten
      console.error('Keine Antwort erhalten:', error.request);
    } else {
      // Fehler beim Einrichten der Anfrage
      console.error('Fehler:', error.message);
    }
  }
}

fetchData();

Erklärung:

  • Protokolliert Antwortdaten und Status bei Erfolg.
  • Unterscheidet zwischen:
    • Fehlern mit Antworten (error.response)
    • Fehlern ohne Antwort (error.request)
    • Anderen Axios-bezogenen Fehlern (error.message)

FAQs

Ja, Axios ist isomorph und kann in beiden Umgebungen ausgeführt werden.

Axios transformiert JSON-Daten für Anfragen und Antworten automatisch, wodurch manuelles Parsen entfällt.

Ja, Sie können benutzerdefinierte Header setzen, indem Sie ein `headers`-Objekt in der Anfragekonfiguration übergeben.

Fazit

Axios vereinfacht HTTP-Anfragen in Node.js und bietet eine saubere und prägnante API. Die Unterstützung von Promises ermöglicht eine effiziente Handhabung asynchroner Vorgänge. Wenn Sie verstehen, wie man GET- und POST-Anfragen durchführt und Antworten und Fehler behandelt, können Sie Axios effektiv in Ihre Node.js-Anwendungen integrieren.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers