dashboard-server
A JSON file RESTful API with authorization based on json-server for zce/dashboard
Usage
# clone repo
$ git clone https://github.com/zce/dashboard-server.git <my-api-server>
# change directory
$ cd <my-api-server>
# install dependencies
$ yarn # or npm install
# serve with nodemon at http://localhost:3000
$ yarn dev
JWT Authorization Endpoints
with jsonwebtoken
/tokens
POST create token
# Content-type: x-www-form-urlencoded
$ curl -X POST -d "username=zce&password=wanglei" http://localhost:3000/tokens
# Content-type: application/json
$ curl -X POST -H "Content-type: application/json" -d "{\"username\":\"zce\",\"password\":\"wanglei\"}" http://localhost:3000/tokens
request body
{ username: 'zce', password: 'wanglei' }
/tokens
GET check token
$ curl -H "Authorization: Bearer <jwt-string>" http://localhost:3000/tokens
request headers
{
headers: { Authorization: 'Bearer <jwt-string>' }
}
/tokens
DELETE revoke token
$ curl -X DELETE -H "Authorization: Bearer <jwt-string>" http://localhost:3000/tokens
request headers
{
headers: { Authorization: 'Bearer <jwt-string>' }
}
JSON Server Resources Endpoints
- Comments:
/comments/:id?
- Posts:
/posts/:id?
- Terms:
/terms/:id?
- Users:
/users/:id?
- Options:
/options/:id?
To access and modify resources, you can use any HTTP method: GET
POST
PUT
PATCH
DELETE
OPTIONS
Additional Endpoints
/users/me
GET get current login user information
$ curl -H "Authorization: Bearer <jwt-string>" http://localhost:3000/users/me
request headers
{
headers: { Authorization: 'Bearer <jwt-string>' }
}
Backdoor Endpoints
/backdoor/reset
GET reset the database to its initial state
$ curl http://localhost:3000/backdoor/reset
/backdoor/delay
GET add a delay of 1000ms for each endpoint
$ curl http://localhost:3000/backdoor/delay
Related
- zce/locally-server - A JSON file RESTful API without JWT authorization