dashboard-server
dashboard-server copied to clipboard
A JSON file RESTful API with authorization based on json-server
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
POST /tokens
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' }
GET /tokens
check token
$ curl -H "Authorization: Bearer <jwt-string>" http://localhost:3000/tokens
request headers
{
headers: { Authorization: 'Bearer <jwt-string>' }
}
DELETE /tokens
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
GET /users/me
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
GET /backdoor/reset
reset the database to its initial state
$ curl http://localhost:3000/backdoor/reset
GET /backdoor/delay
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
License
MIT © 汪磊