Le Parser OpenAPI
Une classe Delphi native qui lit les spécifications OpenAPI 3.0, 3.1 et 3.2, ainsi que les documents Swagger 2.0 convertis dès la lecture, et te donne un accès programmatique à chaque endpoint, schéma et définition de sécurité.
Une classe Delphi native qui lit les spécifications OpenAPI 3.0, 3.1 et 3.2, ainsi que les documents Swagger 2.0 convertis dès la lecture, et te donne un accès programmatique à chaque endpoint, schéma et définition de sécurité.
Il n'y a rien à poser sur un formulaire. sgcOpenAPI n'enregistre aucun composant et ne livre aucun paquet de conception, tu crées donc TsgcOpenAPI en code, depuis sgcOpenAPI_Classes.pas, et tu y lis n'importe quelle spécification.
ReadFromFile prend un chemin et Read prend le document sous forme de chaîne, tandis que l'outil en ligne de commande télécharge d'abord une URL. JSON et YAML sont lus en local, et un document Swagger 2.0 est lui aussi converti en OpenAPI 3.0 en local.
Paths, Webhooks, Components, Security, Servers, Tags et Info sont des propriétés de l'objet, si bien que chemins, opérations, paramètres, corps de requêtes et de réponses, schémas et schémas de sécurité restent accessibles via un modèle fortement typé.
TsgcOpenAPI_Parser_Client_Pascal descend de la même classe, le générateur est donc le lecteur avec un émetteur par-dessus. Dérive-en pour produire des unités Pascal, ou parcours toi-même le modèle pour un outillage et une automatisation personnalisés.
Un $ref reste sur l'objet sous la forme _Ref au lieu d'être inséré, le modèle n'arrive donc pas déréférencé. Les références à des fichiers externes et à des URL sont ramenées au préalable par TsgcOpenAPI_Bundle, qui les insère, retient ce qu'il a déjà visité et s'arrête à une profondeur maximale.
AllOf, OneOf et AnyOf sont lus dans l'objet de schéma, avec Discriminator et son mappage, et le générateur de code les aplatit en classes Pascal.
Warnings rassemble tout ce que le lecteur n'a pas pu honorer, d'un objet info absent à un mot-clé que le générateur ignore, et se vide à chaque lecture. La ligne et la colonne sont indiquées pour un document YAML qui ne s'analyse pas.