OpenAPI | Parser Pascal
Le parseur sgcOpenAPI lit la spécification OpenAPI 3.0 au format JSON et crée automatiquement un client Delphi en code Pascal natif.
Le parseur sgcOpenAPI est compatible avec les spécifications suivantes :
- OpenAPI 3.*
- Swagger 2.* (converti automatiquement de 2.0 vers 3.0)
- Swagger 1.* (converti automatiquement de 1.0 à 3.0)
Le fichier de spécification doit être au format JSON ; s'il est au format YAML, il sera converti automatiquement. L'analyseur vous permet d'importer des spécifications divisées en plusieurs schémas ; si vous fournissez une URL, il tentera de télécharger les spécifications, et si vous fournissez un nom de fichier, il tentera de charger les schémas externes depuis votre disque local.
L'exécutable du parseur OpenAPI peut gérer des paramètres de ligne de commande ou être utilisé comme bibliothèque.
Importation de la spécification OpenAPI
La première étape consiste à importer la spécification openAPI. Une fois que vous disposez de la spécification openAPI 3.0 au format JSON, vous pouvez générer les fichiers Delphi requis en utilisant notre OpenAPI WebService. Suivez les étapes ci-dessous :
- Exécutez l'analyseur sgcOpenAPI et sélectionnez la spécification à importer ou l'URL à télécharger.
- La spécification est vérifiée et si elle est compatible avec l'analyseur, vous pouvez passer aux étapes suivantes. Si la spécification utilise une ancienne version comme swagger 2.0, elle sera convertie automatiquement. Si la spécification est divisée en plusieurs schémas, l'analyseur essaiera de regrouper une spécification unique. S'il y a un problème lors de la conversion du fichier, un message d'erreur apparaîtra.
- Vous pouvez maintenant personnaliser les options suivantes avant d'analyser le document
- ClassName : il s'agit du ClassName principal, par défaut il commence par "sgcOpenAPI_" et ajoute le nom du fichier de spécification.
- Namespace : il s'agit du nom du fichier pascal généré, par défaut c'est le même nom que le fichier de spécification avec l'extension ".pas".
- Create Classes : si coché, il créera les classes à partir du fichier de spécification. Exemple : si une requête nécessite l'envoi d'un objet JSON, et que cet objet JSON est spécifié, l'analyseur créera une classe avec les champs de l'objet JSON.
- Enable Classes : si coché, active les classes générées à partir du fichier de spécification pour les utiliser avec des objets JSON (nécessite Rad Studio XE7+).
- Documentation : si coché, l'analyseur ajoutera des commentaires aux champs, classes et méthodes.
- Authentication : sélectionnez toute authentification si elle existe.
- None : l'API n'utilise aucune méthode d'authentification.
- Basic : l'API utilise l'authentification BASIC.
- Token : il est nécessaire d'envoyer un Token en tant qu'en-tête HTTP. Ce token est obtenu depuis une autre méthode externe.
- OAuth2 : la requête utilisera OAuth2 pour authentifier les requêtes HTTP.
- JWT : la requête utilisera JWT pour authentifier les requêtes HTTP.
- Maintenant une grille avec une liste de méthodes analysées sera affichée à titre d'information. Par défaut, le parseur prend l'OperationId comme nom pour les méthodes créées, mais ici vous pouvez utiliser le résumé comme nom de méthode si l'OperationId n'est pas défini ou si la valeur n'est pas valide.

- Enfin, vérifiez que la Base URL a la valeur correcte et personnalisez ici si le fichier généré sera ouvert automatiquement après sa création et si l'assistant se fermera après la génération du fichier.

- Appuyez sur Finish pour analyser la spécification et générer le fichier pascal.
Exemple
J'utiliserai une spécification OpenAPI simple utilisée par abstractapi.com pour récupérer la localisation d'une adresse IP.
Avant de tester la démo, vous devez créer un compte gratuit sur abstractapi.com pour obtenir une clé API.
https://app.abstractapi.com/users/signup
Installez le sgcOpenAPI Parser Setup, ouvrez sgcOpenAPI.exe et importez la spécification OpenAPI qui se trouve dans le dossier "Demos\abstractapi.com\geolocation". Une fois importée et stockée dans le même dossier de la démo avec le nom "geolocation.pas", ouvrez le projet démo, compilez-le et exécutez-le. Renseignez la clé API obtenue sur le site Abstractapi et appuyez sur Geolocation.
