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

Get a full fake REST API with zero coding in less than 30 seconds (seriously)
Created with <3 for front-end developers who need a quick back-end for prototyping and mocking.
Powers JSONPlaceholder
Example
Create a db.json file
{
"posts": [
{ "id": 1, "title": "json-server", "author": "typicode" }
],
"comments": [
{ "id": 1, "body": "some comment", "postId": 1 }
]
}Start JSON Server
$ json-server db.jsonNow if you go to http://localhost:3000/posts/1, you'll get
{ "id": 1, "title": "json-server", "author": "typicode" }Also, if you make POST, PUT, PATCH or DELETE requests, changes will be saved to db.json
Routes
Here are all the available routes.
GET /posts
GET /posts/1
GET /posts/1/comments
GET /posts?title=json-server&author=typicode
POST /posts
PUT /posts/1
PATCH /posts/1
DEL /posts/1To slice resources, add _start and _end.
GET /posts?_start=0&_end=10
GET /posts/1/comments?_start=0&_end=10To sort resources, add _sort and _order (ascending order by default).
GET /posts?_sort=views&_order=DESC
GET /posts/1/comments?_sort=votes&_order=ASCTo make a full-text search on resources, add q.
GET /posts?q=internetReturns database.
GET /dbReturns default index file or serves ./public directory.
GET /Install
$ npm install -g json-serverExtras
Static file server
You can use JSON Server to serve your HTML, JS and CSS, simply create a ./public directory.
Access from anywhere
You can access your fake API from anywhere using CORS and JSONP.
Remote schema
You can load remote schemas:
$ json-server http://example.com/file.json
$ json-server http://jsonplaceholder.typicode.com/dbJS file support
You can use JS to programmatically create data:
module.exports = function() {
data = { users: [] }
// Create 1000 users
for (var i = 0; i < 1000; i++) {
data.users.push({ name: 'user' + i })
}
return data
}$ json-server index.jsModule
You can use JSON Server as a module:
var jsonServer = require('json-server')
var object = {
posts: [
{ id: 1, body: 'foo' }
]
}
var router = jsonServer.router(object) // Express router
var server = jsonServer.create() // Express server
server.use(router)
server.listen(3000)Deployment
You can deploy JSON Server. For example, JSONPlaceholder is an online fake API powered by JSON Server and running on Heroku.
Links
Articles
- Creating Demo APIs with json-server on egghead.io
- Fast prototyping using Restangular and Json-server
- ng-admin: Add an AngularJS admin GUI to any RESTful API
- how to build quick json REST APIs for development
Projects
License
MIT - Typicode