← Retour au cours

API REST avec Express + Prisma

⏱ 10 min · 🎬 Lecon · 🏆 18 XP
🎬
Vidéo en production
Notre équipe pédagogique tourne actuellement cette leçon avec un·e formateur·rice expert·e. Le contenu textuel ci-dessous est complet et utilisable dès maintenant.

Stack moderne 2026

  • Node.js 20+ : runtime
  • Express ou Fastify : framework HTTP
  • Prisma : ORM type-safe (alternative : Drizzle)
  • Zod : validation schémas
  • Jest / Vitest : tests

Code complet API REST users

import express from 'express';
import { PrismaClient } from '@prisma/client';
import { z } from 'zod';

const app = express();
const prisma = new PrismaClient();
app.use(express.json());

const createUserSchema = z.object({
  email: z.string().email(),
  password: z.string().min(8)
});

app.post('/users', async (req, res) => {
  try {
    const data = createUserSchema.parse(req.body);
    const user = await prisma.user.create({ data });
    res.json({ user });
  } catch (err) {
    res.status(400).json({ error: err.message });
  }
});

app.get('/users/:id', async (req, res) => {
  const user = await prisma.user.findUnique({ where: { id: req.params.id } });
  if (!user) return res.status(404).json({ error: 'Not found' });
  res.json({ user });
});

app.listen(3000);