Creating a RESTful API with Node.js and Express

Illustration of how a RESTful API works with HTTP methods like GET, POST, PUT, and DELETE.

In today’s tech-driven world, building APIs has become essential for connecting front-end and back-end systems. A RESTful API allows different applications to communicate seamlessly over the web. In this article, we’ll create a basic RESTful API using Node.js and Express in just a few steps.

1. What is a RESTful API?

A RESTful API follows the principles of Representational State Transfer (REST), enabling communication through standard HTTP methods like GET, POST, PUT, and DELETE. REST APIs are stateless, lightweight, and widely used for building scalable applications.

2. Setting Up the Environment

To get started, ensure Node.js is installed on your system. You’ll also need a code editor like VS Code.

  1. Initialize the project:
    Open your terminal and run:
mkdir rest-api
cd rest-api
npm init -y

2.Install Express:
Express is a popular Node.js framework for building APIs.

npm install express

3. Building the API

Let’s create an API for managing a list of books.

  1. Create the server file:
    Inside your project, create a file named server.js and add:
const express = require('express');
const app = express();
app.use(express.json()); // To parse JSON bodies

const books = [
    { id: 1, title: 'Node.js Basics', author: 'John Doe' },
    { id: 2, title: 'Learn Express', author: 'Jane Smith' }
];

app.get('/books', (req, res) => res.json(books));
app.post('/books', (req, res) => {
    const book = { id: books.length + 1, ...req.body };
    books.push(book);
    res.status(201).json(book);
});
app.listen(3000, () => console.log('Server running on http://localhost:3000'));

2.Run the server:
Start the API server by running:

node server.js
"Code example of a simple RESTful API using Node.js and Express."

4. Testing the API

Use tools like Postman or cURL to test the API endpoints:

  • GET /books: Retrieve the list of books.
  • POST /books: Add a new book by sending a JSON payload like:
{
    "title": "Mastering REST APIs",
    "author": "Alice Johnson"
}
"Postman interface showing API testing for a GET and POST request." get
"Postman interface showing API testing for a GET and POST request." post

5. Conclusion

Building a RESTful API with Node.js and Express is straightforward and powerful. This basic setup is just the beginning—enhance it with database integration, authentication, and error handling for production-ready applications.

Ready to explore more? Dive deeper into API development and unlock the full potential of Node.js.


Originally published on Makemychance.com

Master RESTful Client in Java

HTTP Status Code: Understanding the Basics