Skip to main content

JSON as REST API

Project description

Jason Server

PyPI PyPI - Python Version PyPI - Status PyPI - License

Get a full fake REST API

Table of contents

Getting started

Install Jason Server

pip3 install jason-server

Create a db.json file with some data

{
  "articles": [
    { "id": 1, "title": "jason-server", "author": "1" },
    { "id": 2, "title": "jason-routes", "author": "1" }
  ],
  "authors": [
    { "id": 1, "name": "bob"}
  ]
}

Start JSON Server

jason-server watch db.json

Now if you go to http://localhost:8080/articles, you'll get

{ "id": 1, "title": "jason-server", "author": "1" },
{ "id": 2, "title": "jason-routes", "author": "1" }

Routes

Singular Routes

GET /authors

Plural Routes

GET /authors
GET /authors/1

Filter

GET /articles?title=title&author=eminem

Pagination

Use _page and _limit to paginate data.

In the Link header you'll get first, prev, next and last links.

GET /articles?_page=2
GET /articles?_page=3&_limit=15

Sorting

Use _sort and _order (defaults order: asccendant)

GET /persons?_sort=age
GET /persons?_sort=name&_order=desc

Database

GET /db

Extras

Alternative Host

You can start JSON Server on other host with the --host flag:

$ json-server --host "0.0.0.0" watch db.json

Default: localhost

Alternative Port

You can start JSON Server on other ports with the --port flag:

$ json-server --port 8100 watch db.json

Default: 8080

CLI Usage

Usage: jason-server [OPTIONS] COMMAND [ARGS]...

Options:
  -h, --host TEXT     Host adress
  -p, --port INTEGER  Port
  -q, --quiet
  --version           Show the version and exit.
  --help              Show this message and exit.

Commands:
  watch  Run your database as REST Api

Credits

License

The code is available under the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jason-server-0.8.1.tar.gz (10.0 kB view hashes)

Uploaded Source

Built Distribution

jason_server-0.8.1-py2.py3-none-any.whl (7.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page