A JSON file RESTful API with authorization based on json-server for zce/dashboard
# 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
with jsonwebtoken
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' }
check token
$ curl -H "Authorization: Bearer <jwt-string>" http://localhost:3000/tokens
request headers
{
headers: { Authorization: 'Bearer <jwt-string>' }
}
revoke token
$ curl -X DELETE -H "Authorization: Bearer <jwt-string>" http://localhost:3000/tokens
request headers
{
headers: { Authorization: 'Bearer <jwt-string>' }
}
- 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
get current login user information
$ curl -H "Authorization: Bearer <jwt-string>" http://localhost:3000/users/me
request headers
{
headers: { Authorization: 'Bearer <jwt-string>' }
}
reset the database to its initial state
$ curl http://localhost:3000/backdoor/reset
add a delay of 1000ms for each endpoint
$ curl http://localhost:3000/backdoor/delay
- zce/locally-server - A JSON file RESTful API without JWT authorization