Skip to content

Latest commit

 

History

History
38 lines (34 loc) · 2.52 KB

README.md

File metadata and controls

38 lines (34 loc) · 2.52 KB

quotes-exemple

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

Installation et utilisation avec IntelliJ

  • 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

quotes-api

  • 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

quotes-spec

  • 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/main/java
  • La Feature Cucumber du dossier src/test/resources/features/quotes.feature doit être exécutable sous IntelliJ

Cycle de développement

  • 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