Handling HTTP Requests with Express.js – A Quick Guide

Handling HTTP Requests with Express.js – A Quick Guide

When building a Node.js app, Express makes it super easy to handle HTTP requests. Here’s a minimal example that shows how to:

  • Send plain text, HTML, and JSON responses
  • Handle different request methods (GET, POST, PATCH, DELETE)
  • Return various HTTP status codes
  • Use dynamic URL parameters

Let’s break it down.

📦 Setup

Start by requiring Express and setting up the app:


const express = require('express');
const app = express();
const port = 5555;

Enable middleware to parse incoming data:

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

🧭 Basic Routes

Root Route

Sends a simple “Hello World” message.

Logs the request.


app.get(‘/’, (req, res) => {
res.status(200).send(‘Hello World’);
});


Text, JSON, and HTML Responses

Plain Text:


app.get(‘/success’, (req, res) => {
res.status(200).send(‘Request successful!’);
});


JSON Response:


app.get(‘/successjson’, (req, res) => {
res.status(200).json([{ method: ‘GET’, message: ‘Request successful!’ }]);
});


HTML Content:


app.get(‘/successhtml’, (req, res) => {
res.status(200).type(‘html’).send(‘<h1>HTML World Response</h1>’);
});


⚠️ res.html() is not valid in Express. Use .type(‘html’).send() instead.

⚠️ Error Responses

 

Respond with standard HTTP error codes:

403 Forbidden


res.sendStatus(403);


404 Not Found


res.status(404).send(‘Resource not found.’);


500 Internal Server Error


res.status(500).send(‘An unexpected error occurred on the server.’);


🔄 Dynamic Routes with Params

Handle dynamic data using URL parameters:


app.get(‘/get/:id’, (req, res) => {
const { id } = req.params;

if (id === ‘1’) {
res.status(200).type(‘html’).send(`<h2>The id (${id}) is for Engineering Field</h2>`);
} else {
res.status(200).send(`Received GET request with Id: ${id}`);
}
});


✍️ Other HTTP Methods

POST:


app.post(‘/me/:id’, (req, res) => {
res.send(`Received POST request with Id: ${req.params.id}`);
});


PATCH:


app.patch(‘/pat/:id’, (req, res) => {
res.send(`Received PATCH request with Id: ${req.params.id}`);
});


DELETE:


app.delete(‘/del/:id’, (req, res) => {
res.send(`Request to delete id: ${req.params.id} completed`);
});


🚀 Start the Server

Finally, launch the server:


app.listen(port, ‘localhost’, () => {
console.log(`Server is listening on http://localhost:${port}`);
});


✅ Summary

With just a few lines, Express can:

  • Respond with various content types
  • Handle all major HTTP methods
  • Deal with both static and dynamic routes
  • Return correct status codes for success and errors

Whether you’re building APIs or testing simple routes, this setup gives you a solid starting point.

Related Articles
Capacityautomation-manufacturing-
Manufacturing
capacityadmin

Manufacturing

Category & Sub Categories Description Manufacturing — All processes, technologies, and strategies for producing goods at scale.   └── Lean Manufacturing Manufacturing Waste elimination, JIT, 5S,

Read More »