Handling Forms, JSON payloads & Queries

🦁 Express.jsLesson 7Beginner

To handle incoming form submissions or JSON data, Express needs parser middlewares configuration. Express provides built-in parsers since version 4.16.0.

1 Body Parsing Middleware Configuration
JavaScript — payload_parsers.js
const express = require("express");
const app = express();

// Parses incoming JSON request payloads
app.use(express.json());

// Parses incoming url-encoded forms submissions
app.use(express.urlencoded({ extended: true }));

app.post("/submit-form", (req, res) => {
  // Access form variables sent via POST
  const username = req.body.username;
  const email = req.body.email;
  res.send(`Form parsed: ${username} - ${email}`);
});
2 Parsing Query String Parameters

Express naturally parses query parameter strings into the req.query object, making paging and search queries straightforward:

JavaScript — Parsing Queries
// GET /api/search?q=express&limit=5
app.get("/api/search", (req, res) => {
  const searchVal = req.query.q;
  const limitVal = parseInt(req.query.limit) || 10;
  res.json({ search: searchVal, limit: limitVal });
});
3 Code Challenge
Challenge: Write a route handler that receives a POST request containing JSON data with fields id and status. Send back a JSON response confirming status change with status code 202.