Node.js – How to create a REST API

By | 14/10/2020

In this post, we will see how to create a Rest API with Node.js and Express.

First of all, what is Express?
Express is an open source web framework that helps us to make developing websites, web apps, & API’s much easier.
It supports many templating engines and it is very simple to use.

In order to install Express, we run the command npm install express:

Now, we can start to create our application and first of all, we generate the package.json file with the command npm init.


  "name": "apiservice",
  "version": "1.0.0",
  "description": "Service API",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  "author": "Damiano Abballe",
  "license": "ISC"

Then, we define an entity called Product and a class called CoreProduct where, we will define all methods used to manage data:


// definition of a class called Product
class Product
    constructor(id, name, price)
        this.Id = id;
        this.Name = name;
        this.Price = price;
module.exports = Product;


// import the class Product
var productItem = require("./product")

// definition of a class called CoreProduct
class CoreProduct
        // in the constructor we feed the list of products with fake data
        this.lstProducts = this.LoadAllProducts();

        var lstProducts = [];
        for(var i=1;i<10;i++)
            lstProducts.push(new productItem(i, "Name"+i, i+10 ));

        return lstProducts;

    // definition of a method used into Rest API for getting the list of Products
        return this.lstProducts;

    // definition of a method used into Rest API for getting the single Product by Id
        for (var i = 0; i < this.lstProducts.length; i++) 
                return new productItem(this.lstProducts[i].Id, this.lstProducts[i].Name, this.lstProducts[i].Price);

module.exports = CoreProduct;

Finally, with the command npm install cors, we install the CORS module and then, we will create the main file called index:


// import express
var express = require('express');  
// import cors
const cors = require('cors')
var app = express(); 
var CoreProduct = require("./coreproduct")
var objCoreProduct = new CoreProduct();
var product = require("./product")

// definition of Rest API's port
var port = process.env.port || 1333;  

// definition of a method used to get all Products
// in a real project, we should define the list of allowed origins
app.get('/api/products', cors(), (request,response) => {

// definition of a method used to get the single Product by Id
// in a real project, we should define the list of allowed origins
app.get('/api/products/:id', cors(), (request,response) => {

// we run the application
app.listen(port, function () {  
    console.log("Server runnning on Port:- " + port + " Started at :- " + new Date());  

Now, we run the application and, using Postman, we can check everything works fine:

Leave a Reply

Your email address will not be published. Required fields are marked *