Package Exports
- json-server
- json-server/package.json
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (json-server) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme

JSON Server
Give it a JSON or JS seed file and it will serve it through REST routes.
Created with ❤️ for front-end developers who need a flexible back-end for quick prototyping and mocking.
Examples
Command line interface
$ cat db.json
{
posts: [
{ id: 1, body: 'foo' }
]
}
$ json-server --file db.json
$ curl -i http://localhost:3000/posts/1Node module
var server = require('json-server');
var db = {
posts: [
{id: 1, body: 'foo'}
]
}
server.run(db);Why?
- Lets you use plain JSON or simple JS file
- Supports GET but also POST, PUT, DELETE and even PATCH requests
- Can be used from anywhere through cross domain requests (JSONP or CORS)
- Can load remote JSON files
- Can be deployed on Nodejitsu, Heroku, ...
Installation
$ npm install -g json-server Usage
Command line interface
json-server --help
Usage: json-server [options]
Options:
-h, --help output usage information
-V, --version output the version number
-f --file <file> load db from a js or json file
-u --url <url> load db from a URL
-p --port [port] server port
--read-only read only modeJSON Server can load JSON from multiple sources:
$ json-server --file db.json
$ json-server --file seed.js
$ json-server --url http://example.com/db.jsonAnd be run in read-only mode (useful if deployed on a public server):
$ json-server --file db.json --read-onlyInput
Here's 2 examples showing how to format JSON or JS seed file:
- db.json
{
posts: [
{ id: 1, body: 'foo'},
{ id: 2, body: 'bar'}
],
comments: [
{ id: 1, body: 'baz', postId: 1}
{ id: 2, body: 'qux', postId: 2}
]
}- seed.js
exports.run = function() {
var data = {};
data.posts = [];
data.posts.push({id: 1, body: 'foo'});
//...
return data;
}JSON Server expects JS files to export a run method that returns an object.
Seed files are useful if you need to programmaticaly create a lot of data.
Node module
run(db, [options])
var server = require('json-server'),
db = require('./seed').run();
var options = { port: 4000, readOnly: true };
server.run(db, options);By default, port is set to 3000 and readOnly to false.
Routes
GET /:resource
GET /:resource?attr=&attr=&
GET /:parent/:parentId/:resource
GET /:resource/:id
POST /:resource
PUT /:resource/:id
PATCH /:resource/:id
DEL /:resource/:idFor routes usage information, have a look at JSONPlaceholder code examples.
GET /dbReturns database state.
GET /Returns default index file or content of ./public/index.html (useful if you need to set a custom home page).
Support
If you like the project, please tell your friends about it, star it or give feedback :) It's very much appreciated!
For project updates or to get in touch, @typicode. You can also send me a mail.
Test
$ npm install
$ npm test