Creating a RESTful API involves the use of various HTTP methods, including GET, POST, PUT, and DELETE, each of which corresponds to a basic function in a persistent data store. In essence, these methods represent Read, Create, Update, and Delete (CRUD) operations.
Here is a step-by-step guide on how to create a simple API in Node.js using Express.js as the web application framework:
Pre-requisites: Make sure Node.js is installed on your system.
Step 1: Setup Your Project
Create a new directory and initialize using npm init command. It will create a `package.json` file for your project.
```
$ mkdir restfulapi
$ cd restfulapi
$ npm init
```
Step 2: Install Express.js
Install express, body-parser and nodemon using npm install command. Express is for building the Rest apis, body-parser helps to parse the request and create the req.body object, nodemon helps to auto restart the server whenever you save a file.
```
$ npm install express body-parser —save
$ npm install nodemon —save-dev
```
Step 3: Create server.js
Inside server.js, initialize express and start the server.
```
var express = require(‘express’);
var app = express();
var bodyParser = require(‘body-parser’);
app.use(bodyParser.json())
app.listen(3000, () => console.log(‘Server started on port 3000’));
```
Step 4: Define Routes
Create routes directory and a api.js file in it.
```
$ mkdir routes
$ cd routes
$ touch api.js
```
In api.js define the required API endpoints with HTTP methods
```
var express = require(‘express’);
var router = express.Router();
// GET endpoint
router.get(‘/tasks’, (req, res, next) => {
// your code here
});
// POST endpoint
router.post(‘/task’, (req, res, next) => {
// your code here
});
// PUT endpoint
router.put(‘/task/:id’, (req, res, next) => {
// your code here
});
// DELETE endpoint
router.delete(‘/task/:id’, (req, res, next) => {
// your code here
});
module.exports = router;
```
Step 5: Import the Routes in server.js
```
var express = require(‘express’);
var bodyParser = require(‘body-parser’);
var apiRoutes = require(‘./routes/api.js’);
var app = express();
app.use(bodyParser.json())
app.use(‘/api’, apiRoutes);
app.listen(3000, () => console.log(‘Server started on port 3000’));
```
Step 6: Start the Server
To start the server run the command
```
$ npm start
```
Now you have a simple REST API using Node.js and Express.
NOTE: In order to persist data and make a fully functional API, you will have to connect it to any database like MongoDB.
Please read more about express routing (https://expressjs.com/en/starter/basic-routing.html)
You can use Postman (https://www.postman.com/) or similar tools to test APIs.