Get a full fake REST API with zero coding in less than 30 seconds (NodeJS + JSON Server + JSON Webtoken).
Support JWT Bearer authentication:
-
Register user with username & password or email & password.
-
Login with registered users.
-
Protect API by resource and request methods.
Support upload files (beta).
Clone this repository
git clone https://github.com/robinhuy/fake-rest-api-nodejs.git
(or fork to your account and clone the forked repo)
Install dependencies
cd fake-rest-api-nodejs
npm install
Run server
npm start
or
npm run dev
The server will run on http://localhost:3000
.
Public API: http://localhost:3000/products
(GET method).
All the data was placed in database.json
. Edit it to suit your purpose.
You can use https://mockaroo.com/ to mock data, and publish your code to https://heroku.com/ to get a Public API.
Note:
- To protect resources, decleare resources and protected methods in
database.json
:
"protected_resources": {
"users": ["GET", "POST", "PUT", "PATCH", "DELETE"],
"products": ["POST", "PUT", "PATCH", "DELETE"]
}
- User can login by API
/login
, methodPOST
, usingusername & password
oremail & password
in resourceusers
. Body request like this:
{
"email": "admin",
"password": "admin"
}
- Change default port, database file, jwt secret or jwt token expires in
config.json
.
Please view detailed document in https://github.com/typicode/json-server/blob/master/README.md#table-of-contents
If you want to change logic of authentication or add more feature, please edit file server.js
.