DELETE Method in Rest API in Express


Create LearnExpressJSRestAPIWithRealApps folder and select to this folder in Visual Studio Code

Use the following command to install Express.JS:

npm install express --save
npm install body-parser --save
npm install cookie-parser --save
npm install multer --save

Create a new folder named api inside the server project. Create demo.api.js file inside api folder contains Rest APIs delete data from client

var DemoAPI = {
    delete: function (request, response) {
        console.log('Product Id: ' + request.params.id);
    }
};

module.exports = DemoAPI;




Inside the api folder create a new file named index.js. This file will hold all the routes needed for rest api in server.

var express = require('express');
var router = express.Router();

var DemoAPI = require('./demo.api');

router.delete('/demo/delete/:id', DemoAPI.delete);

module.exports = router;

At the root of server project, create a file named server.js. This will be the entry point into node application. This will start the server and listen on a local port

var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(bodyParser.json());

app.use('/api', require('./api/index'));

var server = app.listen(9090, function () {
	var host = server.address().address;
	var port = server.address().port;
	console.log("Server listening at http://%s:%s", host, port)
 });

Create LearnExpressJSRestAPIWithRealApps_Client folder and select to this folder in Visual Studio Code

Use the following command to install http module

npm install http --save




Create a new folder named api inside the client folder. Create demo.api.js file inside api folder contains method call Rest API from server

var http = require('http');

var DemoAPIClient = {
    delete: function (id, callback) {
        var options = {
            hostname: 'localhost',
            port: 9090,
            path: '/api/demo/delete/' + id,
            method: 'DELETE',
            headers: {
                'Content-Type': 'application/json',
            }
        };

        return http.request(options, function (response) {
            response.on('end', function () {
                callback({
                    status: response.statusCode
                });
            });
            response.on('error', function (error) {
                callback({
                    status: response.statusCode,
                    error: error.message
                });
            });
        }).end();
    }
};

module.exports = DemoAPIClient;

At the root of client project, create a file named client.js. This will call Rest API and display results

var DemoAPI = {
    delete: function (request, response) {
        console.log('Product Id: ' + request.params.id);
    }
};

module.exports = DemoAPI;




Output from Client

Status: 200

Output from Server

Product Id: p01