Projet MonDossierWeb
Pages enfant
  • MDWP -2- APIs Pégase

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Génération du client java

Exemple pour générer les classes de clients java des principales API :

Copier les YML dans C:\tmp\YML et lancer depuis le répertoire où se trouve le YAML une génération java :

Bloc de code
languagebash
titleGénération du client des clients java à partir du contrat des yaml
# INS GESTION YAML
npx @openapitools/openapi-generator-cli generate -i ins-gestion-api-v5-2.2.0.yaml
 -g java -o C:/tmp/openapi-generator/ -p apiPackage=fr.univlorraine.pegase.api.insgestion -p modelPackage=fr.univlorraine.pegase.model.insgestion -p dateLibrary=java8-localdatetime 
 
# CURSUS YAML
npx @openapitools/openapi-generator-cli generate -i inschc-gestionapplication-api-v5-1.0.0.yml -g java -o C:/tmp/openapi-generator/ -p apiPackage=fr.univlorraine.pegase.api.chc -p modelPackage=fr.univlorraine.pegase.model.chc -p dateLibrary=java8-localdatetime --skip-validate-spec
 
# PAI YAML 
npx @openapitools/openapi-generator-cli generate -i pai-api-v1-2.1.2.0.yaml -g java -o C:/tmp/openapi-generator/ -p apiPackage=fr.univlorraine.pegase.api.insgestionpai -p modelPackage=fr.univlorraine.pegase.model.insgestionpai -p dateLibrary=java8-localdatetime --skip-validate-spec

Récupérer le code généré dans le projet

  • Si ajout/maj d'une nouvelle api, récupérer les classes des répertoires :

    • / src/main/java/fr/univlorraine/pegase/api/{NOM_API}

    • /src/main/java/fr/univlorraine/pegase/model/{NOM_API}

  • Si pas déjà récupérés précédemment, copier également les classe à la racine des répertoires :

    • src/main/java/fr\univlorraine/pegase/api

    • src/main/java/fr/univlorraine/pegase/api/auth

  • Attention : Ne pas prendre les fichier situés directement dans src\main\java\fr\univlorraine\pegase\api si on les a déjà récupéré (via une autre API) car on que ne veut pas les écraser (car cela écraserait les modifications pour ApiClient). Idem pour le répertoire src\main\java\fr\univlorraine\pegase\api\auth.

  • récupérer dans le répertoire E:\tmp\openapi-generator\src le code utile et le copier dans le projet :

Implémentation

Pour des exemples d'appels aux APIs effectués grâce aux classes générées ci-dessus, voir le code source du PegaseService sur github : https://github.com/EsupPortail/esup-mdw-pegase/blob/master/src/main/java/fr/univlorraine/mondossierweb/service/PegaseService.java

...