0 Replies Latest reply on May 4, 2015 8:24 AM by Ryan Rutan


    Ryan Rutan Guru



      json-server - Get a full fake REST API with zero coding in less than 30 seconds (seriously)

       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.

      For a live running version, see JSONPlaceholder.


      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.json

      Now 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


      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/1

      To slice resources, add _start and _end. An X-Total-Count header is included in the response.

      GET /posts?_start=0&_end=10
      GET /posts/1/comments?_start=0&_end=10

      To sort resources, add _sort and _order (ascending order by default).

      GET /posts?_sort=views&_order=DESC
      GET /posts/1/comments?_sort=votes&_order=ASC

      To make a full-text search on resources, add q.

      GET /posts?q=internet

      Returns database.

      GET /db

      Returns default index file or serves ./public directory.

      GET /


      $ npm install -g json-server


       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:

       JS 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.js


      You can use JSON Server as a module:

      var jsonServer = require('json-server')

      var server = jsonServer.create()         // Express server
      server.use(jsonServer.defaults)          // Default middlewares (logger, public, cors)
      server.use(jsonServer.router('db.json')) // Express router


      For an in-memory database, you can pass an object to jsonServer.route().


      You can deploy JSON Server. For example, JSONPlaceholder is an online fake API powered by JSON Server and running on Heroku.






      MIT - Typicode

      Get a full fake REST API with zero coding in less than 30 seconds (seriously) .... pretty interesting ... for those looking to do UI work first while a service end-point is being built =)

      Shared with Jive Anywhere