...
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 | ||||
|---|---|---|---|---|
| ||||
# 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
...