Hey Leute, liebe Entwickler! Heute tauchen wir tief in die Welt der API-Entwicklung mit Node.js, Express und Axios ein. Egal, ob Sie ein erfahrener Programmierer sind oder gerade erst anfangen, dieser Beitrag führt Sie durch die effiziente Erstellung robuster APIs. Außerdem stelle ich Ihnen ein fantastisches Apidog-Tool vor, das Ihren API-Test- und Dokumentationsprozess optimiert.
Einführung
APIs (Application Programming Interfaces) sind zum Rückgrat moderner Webanwendungen geworden. Sie ermöglichen es verschiedenen Softwaresystemen, nahtlos zu kommunizieren und Daten auszutauschen. Egal, ob Sie eine Web-App, eine mobile App oder sogar eine Desktop-App entwickeln, APIs sind unerlässlich.
Warum Node.js, Express und Axios?
Node.js, Express und Axios sind ein dynamisches Trio, wenn es um das Erstellen und Verwenden von APIs geht. Hier ist der Grund:
- Node.js: Bekannt für seine nicht-blockierende, ereignisgesteuerte Architektur, ist Node.js perfekt für die Erstellung skalierbarer Netzwerkanwendungen.
- Express: Dieses minimale und flexible Node.js-Webanwendungs-Framework bietet eine robuste Reihe von Funktionen zur Entwicklung von Web- und mobilen Anwendungen.
- Axios: Ein Promise-basierter HTTP-Client für den Browser und Node.js, Axios erleichtert das Senden asynchroner HTTP-Anfragen an REST-Endpunkte und das Ausführen von CRUD-Operationen.
Durch die Kombination dieser drei leistungsstarken Tools können Sie effiziente, skalierbare und einfach zu wartende APIs erstellen.
Einrichten Ihrer Umgebung
Bevor wir uns in den Code stürzen, richten wir unsere Umgebung ein. Sie benötigen Node.js und npm (Node Package Manager) auf Ihrem Rechner installiert.
- Installieren Sie Node.js und npm: Gehen Sie zur Node.js-Website und laden Sie die neueste Version herunter. Das npm wird mit Node.js gebündelt.
- Initialisieren Sie ein neues Projekt: Öffnen Sie Ihr Terminal und führen Sie aus:
mkdir nodejs-express-axios-api
cd nodejs-express-axios-api
npm init -y
Dadurch wird ein neues Verzeichnis erstellt und ein neues Node.js-Projekt mit einer Standarddatei package.json
initialisiert.
- Installieren Sie Express und Axios:
npm install express axios
Erstellen Ihrer ersten API mit Node.js und Express
Nachdem unsere Umgebung eingerichtet ist, erstellen wir eine einfache API.
Einrichten von Express
Zuerst müssen wir unseren Express-Server einrichten. Erstellen Sie eine Datei namens server.js
und fügen Sie den folgenden Code hinzu:
const express = require('express');
const app = express();
const PORT = 3000;
// Middleware to parse JSON
app.use(express.json());
// Start the server
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
Definieren von API-Endpunkten
Als Nächstes definieren wir einige API-Endpunkte. Wir erstellen Endpunkte für eine einfache CRUD-Anwendung, die eine Liste von Büchern verwaltet.
- Buch erstellen: Mit diesem Endpunkt können Benutzer ein neues Buch zur Liste hinzufügen.
- Bücher lesen: Dieser Endpunkt gibt die Liste aller Bücher zurück.
- Ein Buch aktualisieren: Mit diesem Endpunkt können Benutzer die Details eines vorhandenen Buches aktualisieren.
- Ein Buch löschen: Mit diesem Endpunkt können Benutzer ein Buch aus der Liste löschen.
Fügen Sie den folgenden Code zu server.js
hinzu:
let books = [];
// Create a Book
app.post('/books', (req, res) => {
const book = req.body;
books.push(book);
res.status(201).send('Book added successfully');
});
// Read Books
app.get('/books', (req, res) => {
res.json(books);
});
// Update a Book
app.put('/books/:id', (req, res) => {
const bookId = req.params.id;
const updatedBook = req.body;
books = books.map(book => book.id === bookId ? updatedBook : book);
res.send('Book updated successfully');
});
// Delete a Book
app.delete('/books/:id', (req, res) => {
const bookId = req.params.id;
books = books.filter(book => book.id !== bookId);
res.send('Book deleted successfully');
});
Ausführen Ihrer API
Um Ihre API auszuführen, verwenden Sie einfach den folgenden Befehl in Ihrem Terminal:
node server.js
Sie sollten die Meldung sehen: Server is running on http://localhost:3000
.
Verwenden von APIs mit Axios
Nachdem unsere API nun läuft, erfahren wir, wie wir sie mit Axios verwenden können.
Senden von HTTP-Anfragen mit Axios
Axios erleichtert das Senden asynchroner HTTP-Anfragen an REST-Endpunkte und das Ausführen von CRUD-Operationen. Wir demonstrieren, wie Sie jede Operation (Erstellen, Lesen, Aktualisieren, Löschen) mit Axios ausführen.
Installieren Sie zuerst Axios in Ihrem Projekt, falls Sie dies noch nicht getan haben:
npm install axios
Beispiel: Verwenden von Axios zur Interaktion mit unserer Buch-API
Erstellen Sie eine neue Datei namens client.js
und fügen Sie den folgenden Code hinzu:
const axios = require('axios');
const API_URL = 'http://localhost:3000/books';
// Create a new book
const createBook = async (book) => {
try {
const response = await axios.post(API_URL, book);
console.log(response.data);
} catch (error) {
console.error(error);
}
};
// Read all books
const getBooks = async () => {
try {
const response = await axios.get(API_URL);
console.log(response.data);
} catch (error) {
console.error(error);
}
};
// Update a book
const updateBook = async (bookId, updatedBook) => {
try {
const response = await axios.put(`${API_URL}/${bookId}`, updatedBook);
console.log(response.data);
} catch (error) {
console.error(error);
}
};
// Delete a book
const deleteBook = async (bookId) => {
try {
const response = await axios.delete(`${API_URL}/${bookId}`);
console.log(response.data);
} catch (error) {
console.error(error);
}
};
// Usage examples
const newBook = { id: '1', title: 'Node.js for Beginners', author: 'John Doe' };
createBook(newBook);
getBooks();
updateBook('1', { id: '1', title: 'Advanced Node.js', author: 'John Doe' });
deleteBook('1');
Erläuterung
- createBook: Sendet eine POST-Anfrage, um ein neues Buch hinzuzufügen.
- getBooks: Sendet eine GET-Anfrage, um alle Bücher abzurufen.
- updateBook: Sendet eine PUT-Anfrage, um ein vorhandenes Buch zu aktualisieren.
- deleteBook: Sendet eine DELETE-Anfrage, um ein Buch zu entfernen.
Erweiterte Verwendung von Axios und Fehlerbehandlung
Die Fehlerbehandlung ist entscheidend, wenn es um HTTP-Anfragen geht. Axios bietet verschiedene Möglichkeiten, Fehler effektiv zu behandeln.
Fehlerbehandlung
Ändern Sie die Datei client.js
, um Fehler besser zu behandeln:
const axios = require('axios');
const API_URL = 'http://localhost:3000/books';
// Create a new book
const createBook = async (book) => {
try {
const response = await axios.post(API_URL, book);
console.log(response.data);
} catch (error) {
handleError(error);
}
};
// Read all books
const getBooks = async () => {
try {
const response = await axios.get(API_URL);
console.log(response.data);
} catch (error) {
handleError(error);
}
};
// Update a book
const updateBook = async (bookId, updatedBook) => {
try {
const response = await axios.put(`${API_URL}/${bookId}`, updatedBook);
console.log(response.data);
} catch (error) {
handleError(error);
}
};
// Delete a book
const deleteBook = async (bookId) => {
try {
const response = await axios.delete(`${API_URL}/${bookId}`);
console.log(response.data);
} catch (error) {
handleError(error);
}
};
// Error handling function
const handleError = (error) => {
if (error.response) {
// The request was made and the server responded with a status code
console.error('Error:', error.response.data);
console.error('Status:', error.response.status);
console.error('Headers:', error.response.headers);
} else if (error.request) {
// The request was made but no response was received
console.error('Error: No response received', error.request);
} else {
// Something happened in setting up the request
console.error('Error:', error.message);
}
};
Festlegen benutzerdefinierter Header und Interceptoren
Mit Axios können Sie benutzerdefinierte Header festlegen und Anfragen oder Antworten abfangen. Dies kann nützlich sein, um Authentifizierungstoken oder Protokollierung hinzuzufügen.
const axios = require('axios');
const API_URL = 'http://localhost:3000/books';
// Axios instance with custom headers
const axiosInstance = axios.create({
baseURL: API_URL,
headers: { 'Authorization': 'Bearer YOUR_TOKEN_HERE' }
});
// Request interceptor
axiosInstance.interceptors.request.use(config => {
console.log('Request sent at:', new Date().toISOString());
return config;
}, error => {
return Promise.reject(error);
});
// Response interceptor
axiosInstance.interceptors.response.use(response => {
console.log('Response received at:', new Date().toISOString());
return response;
}, error => {
return Promise.reject(error);
});
// Example usage with interceptors
const getBooks = async () => {
try {
const response = await axiosInstance.get('/');
console.log(response.data);
} catch (error) {
console.error(error);
}
};
getBooks
();
Testen und Dokumentieren Ihrer API mit APIdog
Das Testen und Dokumentieren Ihrer APIs ist entscheidend, um sicherzustellen, dass sie wie erwartet funktionieren und für andere Entwickler einfach zu verwenden sind. Hier kommt APIdog ins Spiel.
Was ist Apidog?
APIdog ist ein leistungsstarkes Tool, mit dem Sie Ihre APIs mühelos testen und dokumentieren können. Mit APIdog können Sie eine umfassende API-Dokumentation erstellen, automatisierte Tests durchführen und Ihre APIs mit Ihrem Team teilen.
Testen der API mit Apidog
Gehen wir eine kurze Anleitung zur Verwendung von Apidog zum Erstellen einer [post]-Anfrage durch.
Schritt 1: Öffnen Sie Apidog und erstellen Sie eine neue Anfrage.
- Starten Sie Apidog und wählen Sie Neue Anfrage

Schritt 2: Geben Sie die API ein
- Suchen Sie die API-Details für die POST-Anfrage, die Sie erstellen möchten, oder geben Sie sie manuell ein.

Schritt 3: Eingabeparameter
- Geben Sie die erforderlichen Parameter und alle Daten ein, die Sie in den Anfragetext aufnehmen möchten.

Die Verwendung von Apidog kann Ihnen Zeit und Mühe bei der Arbeit mit POST-Anfragen sparen.
Dokumentieren unserer API mit Apidog
Um ganz einfach eine API-Dokumentation zu erstellen, befolgen Sie einfach diese Schritt-für-Schritt-Anleitungen:
Schritt 1: Melden Sie sich bei Apidog an
Um Apidog für die API-Dokumentation zu verwenden, erstellen Sie ein Konto und melden Sie sich an. Nach der Anmeldung werden Sie zum Projektcenter weitergeleitet, wo Sie das Standardprojekt auswählen oder ein neues erstellen können.

Schritt 2: Erstellen Sie eine neue API
Ihr API-Projekt besteht aus mehreren Endpunkten. Fügen Sie einen Endpunkt hinzu, indem Sie auf die Schaltfläche "+" oder "Endpunkt hinzufügen" in Ihrem Projekt klicken.

Schritt 3: Geben Sie API-Informationen ein
Geben Sie Details wie die Endpunkt-URL, Beschreibung und Anforderungs-/Antwortspezifika an. Das Dokumentieren von Endpunkten umfasst:
- Festlegen der HTTP-Methode (GET, POST, PUT, DELETE usw.) und des API-Anfragepfads
- Definieren von Anfrageparametern (Namen, Typen, Beschreibungen)
- Beschreiben erwarteter Antworten (Statuscodes, Formate, Beispielantworten)

Schritt 4: Speichern Sie die API-Dokumentation
Klicken Sie nach der Eingabe der erforderlichen Informationen auf "Speichern", um die API-Dokumentation zu speichern.

Schritt 5: Testen Sie die API direkt aus dem Online-API-Dokument
Sobald Sie die API-Dokumentation gespeichert haben, gibt es die Option, Ihre API "auszuführen". Wenn Sie auf die Schaltfläche "Ausführen" klicken, wird eine API-Anfrage gesendet und die Antwort abgerufen, damit Sie die Endpunkte testen können. Während dieses Vorgangs können Sie alle Fehler und Probleme identifizieren, die angegangen werden müssen.

Sobald die API-Dokumentation den Geschäftsanforderungen entspricht, können Sie sie über einen einzigen Link mit anderen teilen.
Vorteile der Generierung von Online-API-Dokumentation mit Apidog
- Online-Debugging: Debuggen Sie APIs einfach direkt in der Dokumentation, indem Sie auf die Schaltfläche "Ausführen" klicken, um schnelles und effizientes Testen zu ermöglichen.

- Automatische Dokumentationsgenerierung: Generieren Sie automatisch eine umfassende API-Dokumentation, indem Sie die erforderlichen Informationen ausfüllen, wodurch keine umfangreiche manuelle Konfiguration erforderlich ist.
- Code-Generierung: Generieren Sie sofort Anforderungs- und Antwortmodellcode in verschiedenen Sprachen, z. B. JavaScript, mit Optionen für Fetch, Axios und JQuery usw., wodurch der Entwicklungsprozess vereinfacht wird.

- Cloud Mock: Verwenden Sie Cloud Mock, um Backend-Dienste zu simulieren und virtuelle Server für Tests ohne Einschränkungen zu erstellen, wodurch die Flexibilität erhöht und die Abhängigkeit von tatsächlichen Backend-Diensten verringert wird.
Fazit
Herzlichen Glückwunsch! Sie haben erfolgreich eine robuste API mit Node.js, Express und Axios erstellt. Sie haben auch gelernt, wie Sie APIs mit Axios verwenden, Fehler effektiv behandeln und Ihre API-Tests und -Dokumentation mit APIdog verbessern können.
APIs sind das Rückgrat der modernen Webentwicklung, und die Beherrschung dieser Tools wird Sie auf den Weg zur Erstellung leistungsstarker und skalierbarer Anwendungen bringen. Vergessen Sie nicht, APIdog kostenlos herunterzuladen, um Ihren API-Entwicklungs- und -Testprozess zu optimieren.