Flight Agency · 2ème année · Développement d'une API REST · Difficulté : ★★★★★
Description :
Ce projet consistait à concevoir et développer une API REST complète en Java avec le framework Spring Boot, simulant le système backend d'une agence de réservation de vols.
L'application expose plusieurs endpoints permettant de gérer trois entités principales : les vols, les clients et les réservations. La recherche de vols supporte des filtres dynamiques (origine, destination, date, prix maximum) grâce à l'utilisation de Spring Data JPA Specifications.
La persistance des données repose sur une base H2 en mémoire, initialisée automatiquement au démarrage via un fichier data.sql. La validation des requêtes entrantes est assurée par les annotations @Valid de Bean Validation, avec une gestion centralisée des erreurs via un GlobalExceptionHandler.
La documentation de l'API est générée automatiquement et accessible via Swagger UI / OpenAPI, offrant une interface interactive pour tester l'ensemble des endpoints sans client externe.
Compétences mobilisées :
Java 17 · Spring Boot 3 · Spring Data JPA · API REST · H2 Database · Maven · Swagger UI / OpenAPI · Bean Validation · Architecture en couches (Controller / Service / Repository) · Gestion d'exceptions globale
Livrable du projet :