Maison > Java > javaDidacticiel > Générez une API REST à l'aide de Java et Spring Boot pour votre base de données Postgres

Générez une API REST à l'aide de Java et Spring Boot pour votre base de données Postgres

Linda Hamilton
Libérer: 2025-01-06 22:21:40
original
439 Les gens l'ont consulté

Ce tutoriel vous montrera comment générer une API Java pour votre base de données Postgres à l'aide de monstarillo. L'API utilisera Spring Boot et Springdoc pour la documenter. L'API effectuera des opérations CRUD sur les tables sur lesquelles vous l'exécutez. Des tests unitaires seront également générés pour l'API.
Pour suivre ce tutoriel, vous aurez besoin de :

monstarilloinstallé.
Une base de données Postgres – j'utiliserai la base de données chinhook. Configurer la base de données Chinhook Sample Postgres dans Docker
Java installé
Un IDE Java – j'utiliserai InteliJ
Git

La première étape consistera à obtenir les modèles que nous utiliserons pour générer notre API. Pour ce faire, clonez les modèles partagés du dépôt. Les modèles que nous utiliserons se trouvent dans le dossier java-api.
Dites à Monstarillo où mettre le code généré
Ensuite, vous devrez décider où vous souhaitez que le code généré soit placé. Je vais exécuter Monstarillo via Docker. J'exposerai le répertoire ~/shared-volume à l'image docker exécutant Monstarillo. Le dossier de modèles partagés créé en clonant le dépôt se trouve dans le dossier ~/shared-volume. Je vais générer du code dans ~/shared-volume/code-gen-output. Monstarillo créera le dossier code-gen-output lorsqu'il générera le code.

Modifier le fichier templates.json
Monstarillo utilise un fichier json pour lui indiquer quels modèles exécuter, comment les exécuter, comment nommer les fichiers qu'il génère et où les placer. Nous allons modifier le fichier java-api/postgres/templates.json. Le tableau de modèles dans le fichier templates.json indique à Monstarillo quels modèles exécuter, comment nommer les fichiers qu'il crée et où les placer. Le tableau de balises dans le fichier templates.json définit certaines « balises » qui sont utilisées dans les modèles et/ou dans templates.json. Par exemple, PackagePath est utilisé plusieurs fois dans le fichier templates.json. Le PackagePath est utilisé dans un certain nombre de modèles, la balise nous permet de le définir une seule fois. Pour exécuter les modèles, vous devrez modifier les balises TemplateRoot et OutputPath dans le tableau des balises.

*TemplateRoot *– La racine du modèle doit pointer vers le dossier java-api dans le référentiel que vous avez cloné.
*OutputPath *– Le chemin de sortie doit pointer vers le dossier dans lequel vous souhaitez que Monstarillo place les fichiers qu'il génère. Monstarillo créera le dossier s'il n'existe pas déjà.
*PackageBase *– Utilisé pour définir le package dans les classes
*ArtifactId *– Utilisé dans le POM.xml généré
*GroupId *– Utilisé dans le POM.xml généré
*ApplicationClassName *– Utilisé comme nom de la classe principale de l'application générée
*ModelPropertySurrondString *– Utilisé dans le modèle qui génère les modèles pour l'application. Ceci est utile si les noms de vos colonnes sont en casse chameau.

Generate a REST API Using Java and Spring Boot for your Postgres database
J'utilise Monstarillo dans Docker, je vais donc définir les balises sur :

{
   "tagName": "TemplateRoot",
   "value": "/usr/local/monstarillo/shared-templates/java-api"
},
{
   "tagName": "OutputPath",
   "value": "/usr/local/monstarillo/code-gen-output/java-01"
}
Copier après la connexion

Si j'exécutais Monstarillo localement, je définirais les balises sur :

{
   "tagName": "TemplateRoot",
   "value": "/home/patrick/code/patrick-templates/java-api"
},
{
   "tagName": "OutputPath",
   "value": "/home/patrick/code-gen-output/java-01"
}
Copier après la connexion

Exécutez Monstarillo pour générer le code
Ensuite, nous allons créer la commande pour exécuter Monstarillo afin de générer le code pour nous. Nous devrons dire à Monstarillo que nous utilisons une base de données Postgres et fournir les informations de connexion. Nous devrons également indiquer à Monstarillo quels modèles exécuter en transmettant l'emplacement du fichier templates.json que nous avons configuré précédemment.

Pour exécuter Monstarillo dans Docker, notre commande ressemblera à :

docker run --volume=/mnt/c/code:/usr/local/monstarillo \
--network=host \
monstarillo/monstarillo:latest postgres \
--t /usr/local/monstarillo/shared-templates/java-api/postgres/templates.json  \
--u postgres \
--p <Your Database Password> \
--db "chinhook-db" \
--host "localhost" \
--schema "public"
In this command I am mounting /mnt/c/code to the docker image as /usr/local/monstarillo that is running monstarillo. My shared-templates folder is at /mnt/c/code/shared-templates and will be generating code to /mnt/c/code/code-gen-output/java-01
Copier après la connexion

Si j'exécutais Monstarillo localement, ma commande serait :

monstarillo postgres \
--t /home/patrick/code/patricks-monstarillo-templates/java-api/templates.json  \
--u postgres \
--p <Your Database Password>\
--db "chinhook-db" \
--host "localhost" \
--schema "public"
Copier après la connexion

Lorsque vous exécutez la commande, votre résultat sera similaire à :

Generate a REST API Using Java and Spring Boot for your Postgres database
Notez que Monstarillo imprime chaque nom de table et qu'il s'exécute. Vous pourrez peut-être utiliser ces informations pour résoudre les erreurs dans votre commande.

Affichez votre code généré
Ensuite, vous pouvez afficher votre code en ouvrant le répertoire de sortie que vous avez choisi dans l'IDE de votre choix.

Generate a REST API Using Java and Spring Boot for your Postgres database

Ensuite, vous devrez modifier le fichier application.properties dans votre code généré pour mettre à jour les informations de connexion à votre base de données. Le fichier peut être trouvé à src/main/resources/application.properties

Generate a REST API Using Java and Spring Boot for your Postgres database

Dans IntelliJ, je vais ouvrir la classe PersistApi dans l'EDI et l'exécuter.

Generate a REST API Using Java and Spring Boot for your Postgres database

Ma nouvelle API est en cours d'exécution et je peux la tester. J'utiliserai Postman. Je peux accéder au contrôleur d'album sur http://localhost:8080/album

Generate a REST API Using Java and Spring Boot for your Postgres database

Vous pouvez également surfer sur http://localhost:8080/swagger-ui/index.html pour voir la définition OpenAPI générée pour le code généré.

Generate a REST API Using Java and Spring Boot for your Postgres database

Remarquez les tests unitaires qui ont été générés dans src/java/com.monstarillo.persist_api

Generate a REST API Using Java and Spring Boot for your Postgres database

Dites-moi ce que vous pensez dans les commentaires

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal