Introduction
- Rappel sur les APIs REST
- Architecture d'un serveur
- Présentation de NestJS
- Architecture d'une application NestJS
- Rappel sur le TypeScript
Développement de notre première application NestJS
- Découpage d'une application NestJS
- Création d'un module
- Création d'un controller, la couche API
- Création d'un service, la couche métier
- Bonnes pratiques : Typage à l'aide d'une interface
- Faire les différentes requêtes HTTP sur son serveur
- Récupérer une ressource par son id
- Utilisation des DTOs : Transmission des données
- Test d'intégration et fonctionnel d'une API
Les pipes
- Automatiser la transformation de la donnée avec Nest
- Créer notre premier custom pipe
- Pipe qui transforme un objet posté
- Pipe qui transforme un paramètre de string en number
- Pipe qui enrichit le body d'un objet posté
Les middlewares
- Filtres de transformation
- Vérifier et sécuriser les requêtes
- Mettre en forme les résultats
Les interceptors
- Les interceptors, les filtres
- Bonnes pratiques pour sécuriser son serveur
- Les possibilités offertes par les interceptors
- Créer de notre premier interceptor
- Faire des benchmarks avec les interceptors
- Créer un interceptor qui récupère les caractéristiques du client
- Enrichir une réponse HTTP
- Enrichir une réponse
- Interceptor qui filtre ou remplace une donnée entrante
La sécurité : Authentification et autorisations
- Introduction aux guards
- Appliquer un guard à une méthode de notre controller
- Guard qui autorise uniquement un certain type de véhicule
- Récupérer dans le guard des meta-données portées par une méthode du controller
- Comparer les méta-données du controller et la donnée postée interceptée par le guard
- Créer un custom decorator chargé de fournir des méta-données
Aller plus loin
- Mettre en place les websockets
- Nouveautés et utilisation du HTTP2
- Les bonnes pratiques pour créer un microservice
- Le Domain Driven Design
- Le GraphQL, le futur ?