Sie entwickeln ein Frontend, aber das Backend ist noch nicht bereit. Sie benötigen eine REST-API, die sofort realistische JSON-Daten zurückgibt, mit funktionierenden GET, POST, PUT und DELETE, damit Sie weiter coden können, anstatt zu warten.
Dafür ist json-server da. Zeigen Sie es auf eine einzelne JSON-Datei und es stellt in Sekundenschnelle eine vollständige REST-API bereit, ohne dass Backend-Code erforderlich ist. Sein Pendant, JSONPlaceholder, geht noch einen Schritt weiter: eine gehostete Fake-API, die Sie ohne Installation aufrufen können. Dieser Leitfaden zeigt, wie man beide verwendet, wo ihre Grenzen liegen und wann man zu einem schema-basierten Mock in Apidog wechseln sollte.
Für einen umfassenderen Überblick über das Fälschen von Endpunkten, siehe was eine Mock-API ist. Hier konzentrieren wir uns auf die beiden Tools, zu denen Entwickler zuerst greifen.
Was ist json-server?
json-server ist ein Open-Source-npm-Tool, das eine einfache JSON-Datei in eine echte REST-API verwandelt. Sie schreiben eine db.json-Datei, die Ihre Ressourcen beschreibt, führen einen Befehl aus und erhalten standardmäßige CRUD-Routen, die durch diese Datei unterstützt werden. Schreibanfragen ändern tatsächlich die Datei, sodass die Daten zwischen den Anfragen während Ihrer Sitzung bestehen bleiben.
Es ist der schnellste Weg, eine funktionierende API für Prototyping, Frontend-Entwicklung, Demos und Tests zu erhalten, ohne eine Datenbank einzurichten oder Servercode zu schreiben. Das Projekt befindet sich auf GitHub und wird genau für diese Aufgabe weit verbreitet.
json-server installieren und ausführen
Installieren Sie es von npm:
npm install json-server
Erstellen Sie eine db.json-Datei in Ihrem Projekt. Schlüssel von Top-Level-Arrays werden zu Sammlungsrouten; Top-Level-Objekte werden zu Einzelressourcen-Routen:
{
"posts": [
{ "id": "1", "title": "First post", "views": 100 },
{ "id": "2", "title": "Second post", "views": 250 }
],
"comments": [
{ "id": "1", "text": "Nice work", "postId": "1" }
],
"profile": {
"name": "apidog"
}
}
Starten Sie den Server:
npx json-server db.json
Standardmäßig läuft es unter http://localhost:3000. Das war's; Sie haben jetzt eine Live-API.
Hinweis zu Versionen: json-server v1 hat das alte--watch-Flag entfernt, daher istnpx json-server db.jsonder aktuelle Befehl. Wenn Sie die ältere 0.x-Linie verwenden, werden Sie in Tutorials immer nochjson-server --watch db.jsonsehen.
Die Routen, die Sie kostenlos erhalten
Aus der obigen db.json generiert json-server eine vollständige REST-Oberfläche.
GET /posts
GET /posts/:id
POST /posts
PUT /posts/:id
PATCH /posts/:id
DELETE /posts/:id
Für das profile-Objekt:
GET /profile
PUT /profile
PATCH /profile
Auch Abfragen sind integriert. Die v1-Syntax verwendet einen Doppelpunkt für Bedingungen:
GET /posts?views:gt=100 # views greater than 100
GET /posts?views:lte=50 # views less than or equal to 50
GET /posts?_sort=-views # sort by views, descending
GET /posts?_page=1&_per_page=25 # pagination
GET /posts?_embed=comments # include related comments
Verfügbare Operatoren sind `lt`, `lte`, `gt`, `gte`, `eq`, `ne`, `in`, `contains`, `startsWith` und `endsWith`. Für eine einfache Datei und einen einzigen Befehl ist das eine Menge API.
JSONPlaceholder: eine Fake-API ohne Einrichtung
Manchmal möchten Sie nicht einmal ein Tool installieren. JSONPlaceholder, vom selben Autor, ist eine kostenlose Fake-REST-API, die unter jsonplaceholder.typicode.com gehostet wird. Sie rufen sie direkt aus Ihrem Code auf:
curl https://jsonplaceholder.typicode.com/posts/1
{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident",
"body": "quia et suscipit..."
}
Es wird mit sechs vorgefertigten Ressourcen geliefert:
/posts(100 Einträge)/comments(500)/albums(100)/photos(5000)/todos(200)/users(10)
Es akzeptiert auch POST, PUT, PATCH und DELETE, aber hier ist der Haken: Schreibvorgänge sind gefälscht. Die API gibt eine realistische Antwort zurück, als ob die Änderung stattgefunden hätte, aber nichts wird gespeichert. Aktualisieren Sie die Seite und Ihr "neuer" Beitrag ist verschwunden. Das ist in Ordnung, um UI-Code an vorhersehbare Daten anzubinden; es ist kein echtes Backend.
json-server vs JSONPlaceholder
| json-server | JSONPlaceholder | |
|---|---|---|
| Einrichtung | npm-Paket installieren, db.json schreiben |
Keine, einfach die URL aufrufen |
| Läuft | Lokal, auf Ihrem Rechner | Gehostet, öffentlich |
| Benutzerdefinierte Daten | Ja, Ihre eigenen Ressourcen | Nein, feste Ressourcen |
| Schreibvorgänge bleiben bestehen | Ja, in db.json |
Nein, gefälscht |
| Am besten geeignet für | Prototyping mit eigenen Strukturen | Schnelle Demos und Lernzwecke |
Greifen Sie zu JSONPlaceholder, wenn Sie Daten sofort benötigen und Ihnen egal ist, welche es sind. Greifen Sie zu json-server, wenn Sie eigene Ressourcen und persistente Schreibvorgänge benötigen.
Wo diese Tools an ihre Grenzen stoßen
json-server und JSONPlaceholder sind hervorragend in einer Sache: JSON schnell bereitzustellen. Sie fangen an wehzutun, sobald ein Projekt über einen Solo-Prototyp hinauswächst.
- Keine echte Validierung. Sie erzwingen kein Schema. Posten Sie einen String, wo eine Zahl hingehört, und er wird problemlos gespeichert. Ihre echte API würde dies ablehnen.
- Keine dynamischen oder intelligenten Daten. Antworten sind das, was in der Datei steht. Es gibt keine integrierte Möglichkeit, pro Anfrage eine neue zufällige E-Mail oder ein Datum in der Zukunft zurückzugeben.
- Lokal und Einzelbenutzer. json-server läuft auf Ihrem Laptop. Ein Teammitglied oder ein CI-Job kann
localhost:3000nicht erreichen. JSONPlaceholder wird geteilt, aber Sie können es nicht anpassen. - Abweichungen von Ihrer Spezifikation. Die gefälschten Daten befinden sich in einer separaten Datei, getrennt von Ihrem OpenAPI-Vertrag, sodass die beiden auseinanderdriften, wenn sich die API entwickelt.
- Gefälschte Schreibvorgänge (JSONPlaceholder). Alles, was zustandsbehaftet ist, wie ein Warenkorb oder ein mehrstufiger Workflow, kann damit nicht getestet werden.
Wenn Sie eine einfache Datei entwachsen sind, decken unsere Übersichten über Tools zum Mocken von REST-Endpunkten und kostenlose und günstige API-Mock-Server die nächste Stufe ab, und Online-API-Mocking-Tools im Vergleich stellt die gehosteten Optionen gegenüber.
Wann man zu einem echten Mock-Server wechseln sollte
Ein schema-basierter Mock behebt jede der oben genannten Einschränkungen. Hier übernimmt Apidog die Rolle von json-server.

- Schema-gesteuert, nicht datei-gesteuert. Definieren Sie einen Endpunkt (oder importieren Sie Ihre OpenAPI-Spezifikation) und Apidog mockt ihn automatisch. Der Mock und der Vertrag bleiben synchron, weil sie dieselbe Definition sind.
- Intelligente, dynamische Daten. Apidog liest Feldnamen und -typen und gibt realistische Werte zurück: eine gültige E-Mail für ein
email-Feld, ein Datum fürcreatedAt, eine Zahl fürprice. Sie können Faker-ähnliche Regeln pro Feld für die volle Kontrolle anhängen. Unser Leitfaden zu Faker.js in Apidog und die umfassendere Anleitung zum Testdatengenerator gehen tiefer auf die Erzeugung realistischer Werte ein. - Eine gemeinsam nutzbare Cloud-URL. Apidog gibt dem Mock eine gehostete URL, die Ihr gesamtes Team und Ihre CI-Pipeline aufrufen können, nicht nur
localhost. - Kein Node erforderlich. Es muss kein Paket pro Projekt installiert und keine
db.jsonverwaltet werden.
Dieselbe API in Apidog mocken
- Laden Sie Apidog herunter und erstellen oder öffnen Sie ein Projekt.
- Fügen Sie einen Endpunkt hinzu, z. B.
GET /posts, und definieren Sie sein Antwortschema (oder importieren Sie eine bestehende OpenAPI-Datei). - Apidog generiert eine Mock-URL und beginnt sofort, intelligente, realistische Daten für jedes Feld zurückzugeben.
- Benötigen Sie spezifische Werte? Fügen Sie eine Mock-Regel pro Feld hinzu, um die Ausgabe festzulegen.
- Teilen Sie die Mock-URL mit Ihrem Team oder fügen Sie sie in Ihre Testsuite und CI ein.

Sie behalten die „API in Minuten“-Geschwindigkeit von json-server bei und gewinnen Validierung, dynamische Daten und eine URL, die jeder erreichen kann.
Häufig gestellte Fragen (FAQ)
Ist json-server kostenlos? Ja, es ist Open Source und kostenlos nutzbar. JSONPlaceholder ist ebenfalls kostenlos.
Speichert json-server Daten dauerhaft? Ja. POST, PUT, PATCH und DELETE schreiben in Ihre db.json zurück, sodass Änderungen zwischen Anfragen bestehen bleiben, während der Server läuft. JSONPlaceholder fälscht Schreibvorgänge und speichert nichts.
Kann ich json-server in der Produktion verwenden? Nein. Es ist für Prototyping und Tests konzipiert. Es bietet keine echte Validierung, Authentifizierung oder Skalierbarkeit.
Was ist der Unterschied zwischen json-server und einem Mock-Server wie Apidog? json-server dient eine statische Datei als API. Apidog mockt aus Ihrem API-Schema, gibt dynamische realistische Daten zurück und stellt eine gemeinsam genutzte Cloud-URL bereit. Siehe was eine Mock-API ist und die Übersicht über REST-Mocking-Tools für den Kontext.
Wie erhalte ich realistische gefälschte Daten anstelle von statischen Zeilen? Verwenden Sie einen Generator. Ein Testdatengenerator erstellt vielfältige, realistische Datensätze, und Apidogs Mock macht dies automatisch aus Ihrem Schema.
Die Kurzfassung
json-server verwandelt eine JSON-Datei mit einem Befehl in eine funktionierende REST-API, und JSONPlaceholder bietet Ihnen eine gehostete Fake-API ohne jegliche Einrichtung. Beide sind perfekt, um schnell voranzukommen. Sobald Sie Schema-Validierung, dynamische Daten, persistenten Zustand und eine URL benötigen, die Ihr Team tatsächlich erreichen kann, ist eine einfache Datei nicht mehr ausreichend. Das ist der Punkt, an dem Apidogs Mock-Server übernimmt. Laden Sie Apidog herunter, importieren Sie Ihre Spezifikation, und Ihr Mock stimmt vom ersten Request an mit dem echten Vertrag überein.
