Building a REST API with Node.js and Express

A step-by-step tutorial on creating a RESTful API using Node.js, Express, and MongoDB.

tutorialnodejsapi

In this tutorial, I’ll walk through building a REST API from scratch using Node.js and Express.

Setting Up

First, initialize your project:

mkdir my-api && cd my-api
npm init -y
npm install express mongoose dotenv

Creating the Server

import express from 'express';
import 'dotenv/config';

const app = express();
app.use(express.json());

const PORT = process.env.PORT || 3000;

app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

Defining Routes

app.get('/api/items', async (req, res) => {
  const items = await Item.find();
  res.json(items);
});

app.post('/api/items', async (req, res) => {
  const item = new Item(req.body);
  await item.save();
  res.status(201).json(item);
});

Error Handling

Always wrap your route handlers in try-catch blocks and return meaningful error messages.

Testing

Use Thunder Client or Postman to test your endpoints. Make sure to test both success and error cases.

Conclusion

Building a REST API with Node.js and Express is straightforward. The key is keeping your code organized with proper separation of concerns.