Introduction : Pourquoi TypeScript pour une API REST ?
Le développement web moderne est impensable sans la création d'API efficaces et sécurisées. TypeScript, en tant que surcouche de JavaScript, offre un typage statique, ce qui réduit considérablement le nombre d'erreurs lors de l'exécution et améliore la lisibilité du code. Dans ce guide, nous allons montrer comment écrire une API REST complète en TypeScript en seulement 30 minutes. Vous apprendrez à configurer le projet, à créer des endpoints de base et à gérer les erreurs. Ce tutoriel est idéal pour les développeurs débutants qui souhaitent maîtriser rapidement la création d'applications serveur.
Configuration de l'environnement et installation des dépendances
La première étape consiste à créer un nouveau projet et à installer tous les packages nécessaires. Assurez-vous d'avoir installé Node.js (version 18 ou supérieure) et npm.
Étape 1 : Initialisation du projet
Ouvrez le terminal et exécutez les commandes suivantes :
mkdir my-rest-api
cd my-rest-api
npm init -y
Étape 2 : Installation de TypeScript et des dépendances
Installez TypeScript, Express et les types nécessaires :
npm install express
npm install -D typescript @types/node @types/express ts-node nodemon
- express — framework pour créer le serveur.
- typescript — compilateur TypeScript.
- @types/express — types pour Express.
- ts-node — pour exécuter TypeScript directement.
- nodemon — redémarrage automatique du serveur lors des modifications.
Étape 3 : Configuration de tsconfig.json
Créez le fichier tsconfig.json à la racine du projet :
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
Création d'un serveur de base en TypeScript
Créons maintenant la structure des dossiers et le fichier principal du serveur.
Étape 4 : Structure du projet
Créez le dossier src et le fichier src/index.ts :
mkdir src
touch src/index.ts
Étape 5 : Écriture du serveur
Ouvrez src/index.ts et ajoutez le code suivant :
import express, { Request, Response } from 'express';
const app = express();
const PORT = process.env.PORT || 3000;
// Middleware pour analyser le JSON
app.use(express.json());
// Route de base
app.get('/', (req: Request, res: Response) => {
res.send('L\'API REST en TypeScript fonctionne !');
});
// Démarrage du serveur
app.listen(PORT, () => {
console.log(`Serveur démarré sur le port ${PORT}`);
});
Étape 6 : Ajout de scripts dans package.json
Mettez à jour package.json en ajoutant des scripts pour le développement et la construction :
"scripts": {
"dev": "nodemon --exec ts-node src/index.ts",
"build": "tsc",
"start": "node dist/index.js"
}
Lancez maintenant le serveur avec la commande npm run dev. Vous devriez voir le message "Serveur démarré sur le port 3000".
Implémentation des endpoints CRUD
Créons un modèle de données simple et implémentons les opérations de création, lecture, mise à jour et suppression (CRUD). Pour l'exemple, prenons l'entité "Tâche" (Task).
Étape 7 : Création du modèle et du stockage
Créez le fichier src/models/Task.ts :
export interface Task {
id: number;
title: string;
completed: boolean;
}
// Stockage temporaire en mémoire
export const tasks: Task[] = [
{ id: 1, title: 'Apprendre TypeScript', completed: false },
{ id: 2, title: 'Écrire une API REST', completed: false },
];
Étape 8 : Création des routes
Créez le fichier src/routes/tasks.ts :
import { Router, Request, Response } from
```