Web Development
JavaScript
API

Building RESTful APIs with Node.js and Express

January 8, 2024

Creating robust RESTful APIs is essential for modern web development. This guide will show you how to build scalable APIs using Node.js and Express.

What is a RESTful API?

REST (Representational State Transfer) is an architectural style for designing networked applications. RESTful APIs follow REST principles and use HTTP methods to perform operations.

Setting Up Your Environment

# Initialize a new Node.js project
npm init -y

# Install required dependencies
npm install express cors helmet morgan dotenv
npm install -D nodemon @types/node typescript

# Install database dependencies
npm install mongoose  # for MongoDB
# or
npm install pg  # for PostgreSQL

Project Structure

src/
  controllers/
    userController.js
    productController.js
  models/
    User.js
    Product.js
  routes/
    users.js
    products.js
  middleware/
    auth.js
    validation.js
  utils/
    database.js
  app.js
server.js

Basic Express Setup

const express = require('express');
const cors = require('cors');
const helmet = require('helmet');
const morgan = require('morgan');
require('dotenv').config();

const app = express();

// Middleware
app.use(helmet());
app.use(cors());
app.use(morgan('combined'));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));

// Routes
app.use('/api/users', require('./routes/users'));
app.use('/api/products', require('./routes/products'));

// Error handling middleware
app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).json({ error: 'Something went wrong!' });
});

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

module.exports = app;

Best Practices

  1. Use HTTP Status Codes Properly

    • 200: Success
    • 201: Created
    • 400: Bad Request
    • 401: Unauthorized
    • 404: Not Found
    • 500: Internal Server Error
  2. Implement Proper Error Handling

    • Use try-catch blocks
    • Return meaningful error messages
    • Log errors for debugging
  3. Add Security Measures

    • Use HTTPS in production
    • Implement rate limiting
    • Validate all inputs
    • Use environment variables for secrets

Conclusion

Building RESTful APIs with Node.js and Express provides a solid foundation for modern web applications. Focus on proper structure, security, and testing to create maintainable and scalable APIs.

Updated March 27, 2026

Related

Getting Started with Next.js 15 and TypeScript

Web Development
1min
    DEV
    Building RESTful APIs with Node.js and Express | OpenClaw API Documentation - Open Source AI Assistant Integration Guide