Package Exports
- 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
[!IMPORTANT] Viewing alpha v1 documentation – usable but expect breaking changes. For stable version, see here
json-server
Install
npm install json-server@alpha
Usage
Create a db.json
(or db.json5
) file
{
"posts": [
{ "id": "1", "title": "a title" },
{ "id": "2", "title": "another title" }
],
"comments": [
{ "id": "1", "text": "a comment about post 1", "postId": "1" },
{ "id": "2", "text": "another comment about post 1", "postId": "1" }
],
"profile": {
"name": "typicode"
}
}
Pass it to JSON Server CLI
$ json-server db.json
Get a REST API
$ curl -H "Accept: application/json" -X GET http://localhost:3000/posts/1
{
"id": "1",
"title": "a title"
}
Run json-server --help
for a list of options
Sponsors |
---|
Become a sponsor and have your company logo here
Routes
GET /posts
GET /posts/:id
POST /posts
PUT /posts/:id
PATCH /posts/:id
DELETE /posts/:id
GET /profile
PUT /profile
PATCH /profile
Params
Conditions
==
lt
→<
lte
→<=
gt
→>
gte
→>=
ne
→!=
GET /posts?views_gt=9000
Range
start
end
limit
GET /posts?_start=10&_end=20
GET /posts?_start=10&_limit=10
Paginate
page
per_page
(default = 10)
GET /posts?_page=1&_per_page=25
Sort
_sort=f1,f2
GET /posts?_sort=id,-views
Nested and array fields
x.y.z...
x.y.z[i]...
GET /posts?author.name=foo
GET /posts?author.email=foo
GET /posts?names[0]=foo
Embed
GET /posts?_embed=comments
GET /comments?_embed=post
Delete
DELETE /posts/1
DELETE /posts/1?_embed=comments
Serving static files
If you create a ./public
directory, JSON Serve will serve its content in addition to the REST API.
You can also add custom directories using -s/--static
option.
json-server -s ./static
json-server -s ./static -s ./node_modules
License
This project uses the Fair Source License. Note: Only organizations with 3+ users need to contribute a small amount through sponsorship sponsor for usage. This license helps keep the project sustainable and healthy, benefiting everyone.
For more information, FAQs, and the rationale behind this, visit https://fair.io/.