Tutoriel

Statut éditorial : En attente de relecture

Créer une API JSON minimale avec Node.js

Construire une petite API sans framework pour comprendre routes, codes HTTP, JSON et validation.

Niveau
Intermédiaire
Publié le
30 juillet 2026
Prochaine vérification
30 janvier 2027

Vous allez créer une API en mémoire qui liste des notes, afin de comprendre HTTP avant un framework.

import { createServer } from "node:http";

const notes = [{ id: 1, title: "Comprendre HTTP" }];

function sendJson(response, status, data) {
  response.writeHead(status, { "content-type": "application/json; charset=utf-8" });
  response.end(JSON.stringify(data));
}

const server = createServer((request, response) => {
  const url = new URL(request.url ?? "/", "http://localhost");
  if (request.method === "GET" && url.pathname === "/notes") {
    return sendJson(response, 200, { data: notes });
  }
  sendJson(response, 404, { error: { message: "Route introuvable" } });
});

server.listen(3000);

Lancez le serveur puis testez http://localhost:3000/notes. Pour ajouter une route POST, lisez le corps par morceaux, transformez-le avec JSON.parse, validez le titre puis répondez 201 Created.

Utilisez 400 pour un JSON illisible et 422 pour une structure lisible mais invalide. En production, imposez une taille maximale, ajoutez authentification, journalisation et persistance.

Sources utilisées

Créer une API JSON minimale avec Node.js | LaSource.dev