An image

Corporate Blogs

How To Build A Node.js API In 30 Minutes

E-Commerce Businesses Need a Mobile App

The purpose of this blog is to guide you through writing a basic node.js CRUD (CREATE, READ, UPDATE, DELETE) API which you can use as a foundation for any of your applications.

Though there are many node.js frameworks like Hapi, Sails, I wrote these Node.js API with an express framework, because it is very simple and enable us to write very minimal code by providing support for routing, middleware and thereby giving much flexibility than other frameworks.

Before getting started with writing Node.js API make sure you have installed the latest version of Node using below command,

Also, we require npm (node package manager) to be installed through which we can install modules that are used in the API.

node -v and npm -v will show the version of NODE and NPM installed on your machine

We’re using the Mongo database here. Refer to the official MongoDB installation manual and Install mongo DB based on your OS and version. You can check your installed MongoDB version using the mongo –version.

Then, create a database in MongoDB with the name of your choice. I named it as notes_blog.

Here in this example, I created an application to add, display, update and delete notes. To start with the application.

Create a folder named manage_notes. Locate the folder in the terminal and give npm init. This will prompt you with any questions. Press enter for all the questions, and it will initialize your application with the package.json file.

Paste the below code into the package.json and save it. In the terminal run “npm install.” This will install the packages defined in the dependencies section of package.json to the project.

Also Read

Setup Node.js, Nginx And MongoDB On Ubuntu 16.04

Create a folder named “DB” in the root of the application and again create a file with the following content inside that folder. This file would hold the code to connect to the Mongo database. Paste the following code in Mongoose.js.

Here the Mongoose module is used to interact with the database. Mongoose connect method is used to establish the connection to the mongo database.

Let’s create a starting point for our application, by creating a file named server.js in the root folder of the application and paste the following code.

Related Post

 How To Interact With Database Using Async Module In Node.js

First, express and body-parser modules are imported. bodyParser.json(), bodyParser.urlencoded() are middlewares of body-prser module that have access to request objects, transform them and exposes it to the req.body object which then can be accessed in our routes. Then, initialize your app as an instance of the Express framework, and add the body-parser middleware using express’s app.use() method. I also required the “connect_mongo.js” file to establish a connection to DB before listening to the port. Then I made the app to listen to the port 3000 using app.listen() function.

In spite of writing all code in a single file, I am going to split it into multiple files, following the MVC design pattern which helps in the readability of the code and helps to handle better when the size of the application grows in the future.

Here M stands for model, which holds function code related to the database. V stands for the view which is beyond the scope of this blog. C for the controller which acts as the intermediator between view and model and also accepts the incoming request, and in turn calls the corresponding model function based on the request, processes it and sends the response back to the view. Here there is an additional route file inside the folder called routes, which resolve the requested URL from view to a particular controller.

Create another file named notes.model.js inside a newly created folder called to model and paste the following code,

// A function to fetch particular note from the notes collection based on the Id

// A function to save a note to the notes collection

// A function to update a note with note_id

// A function to delete a note from notes collection with node_id

Mongoose module is again required in this file and then, defined the structure of how our notes collection should look like. This notes collection contains two fields title and description with datatype as a string. All the functions that save, lists, update, delete notes to the Mongo database are also written in this file.

Create a file named notes.controller.js inside a newly created folder called controller with the following code.

Finally to define the routes for application, create a file named notes.route.js inside a newly created folder called routes with the following code.

This file required the controller file (notes.controller.js) which we defined before.
Remember to include this notes.route.js file in server.js before the app.listen() function. Based on the URL request from the client-side, the route is matched, and the corresponding controller method is called from here which in turn will call the respective model function, and the response is returned back to the client.

In the end, your folder structure should be like this,


Save all the files and locate the application folder in the terminal and enter “npm start.” Now you can see server listening to the port 3000(as mentioned in the server.js file). To test the APIs, we use an application called postman from where the HTTP request can be made with request or query or body parameters.

Testing The API In Postman

Saving a note

saving a note in nodejs api

Display a note by Id

display a note nodejs api

Display all notes

Display all notes in nodejs api

Update a note

Updating a note in nodejs api

Delete a note

delete a note nodejs api

That’s all! Now keep this as a base, apply this CRUD operation and start creating your own Node.JS API.

Similarly, you can learn more on the latest topics, never miss out on anything from our largest blog portal where you can get continuous blog updates & latest posts about all latest technologies which would be perfect for your 15 minutes tea break! In case if you’re a newbie then don’t forget to subscribe to us to get the latest updates from diverse technologies. What else guys hit the subscribe link and go crazy over learning. For more inquiries reach us via

Turn your vision to magnificent reality With
Our Web and Mobile Solutions
Professional Life of an IT Consultant Interview with Valentin Crettaz
Written by
Junior Software Engineer discovered her passion in Software engineering and getting specialized in developing Node.Js & Angular applications. Chill out! Coz, this super cool girl hate to be serious as she always thrives to live her life like a gambling game.

Thoughts on How To Build A Node.js API In 30 Minutes

Good information! Thanks for sharing this helpful article with us. keep updating

Leave a Comment

You have an Idea. We have the Solution.

We help business evolve with lates technologies and infrastructures tailored to their needs and market trends.