This API is a Task Management API that provides functionalities for managing tasks, such as retrieving tasks by ID or tag, adding or updating tasks, assigning users to tasks, and adding tags to tasks.
Deuxième lien si vous arrivez pas a vous connecter : https://drive.google.com/file/d/1G_b4QDxAjZ1dwtN6D-WvUSPLpdUICI4d/view?usp=sharing
Mise en oeuvre d'une api avec Springboot et d'un client de test BDD avec Cucumber Avec OpenApi generator, génération à partir d'un fichier OpenAPI "quotes.yaml" :
- des intertaces et des DTO pour Springboot
- d'un client et des DTO pour le client BDD
- git clone de ce repository et import sous IntelliJ du projet (maven) qui contient 2 modules : quotes-api pour Springboot et quotes-spec pour le client BDD
- Affectation d'un Java JDK 17 (File / Project structure / Project /SDK
- Gérération du dossier target avec "maven clean package" (fenêtre Maven, quotes-exemple/quotes-api/Lifecycle)
- Déclaration "Generated Source Root" du dossier target/generated-sources/openapi/src/main/java via le menu contextuel et "Mark directory as" sur ce dossier
- Lancement du main Springboot (Swagger2SpringBoot)
- L'interface utilisateur swagger-ui est accessible à http://localhost:9090/api
- La base de donnée H2 est accessible à http://localhost:9090/api/h2-console url: jdbc:h2:mem:testdb username:sa pas de password
- Gérération du dossier target avec "maven clean package" (fenêtre Maven, quotes-exemple/quotes-spec/Lifecycle) si Springboot tourne, les tests BDD doivent s'exécuter sans erreurs au cours de l'exécution de Maven
- Déclaration "Generated Source Root" du dossier target/generated-sources/openapi/src/gen/java/main
- La Feature Cucumber du dossier src/test/resources/features/quotes.feature doit être exécutable sous IntelliJ
- Modifier le fichier OpenAPI "quotes.yaml" sous src/main/resource des 2 projets (copies identiques)
- Api Springboot
- Relancer "maven clean package" de quotes-api
- Développer ou adapter les controlleurs, les DTO et les classes liées dans l'api Springboot
- Si vous avez ajouté ou modifié des entités, vous pouvez initialiser des données dans le fichier data.sql de src/main/resource
- Relancer Sprigboot et faire quelques tests manuels avec swagger-ui
- Tests BDD cucumber (en mode TDD, les 2 premières étapes peuvent être effectuées avant le développement de l'api)
- Relancer "maven clean package" de quotes-spec, les tests seront peut-être en erreur et peuvent être skippés
- Développer ou adapter les features Cucumber et les steps pour les nouvelles fonctionalités
- Exécuter les tests sous IntelliJ et relancer "maven clean package" de quotes-spec pour exécuter les tests avec Maven