Parser OpenAPI
Natywna klasa Delphi, która czyta specyfikacje OpenAPI 3.0, 3.1 i 3.2 oraz dokumenty Swagger 2.0 konwertowane już przy wczytywaniu, dając programowy dostęp do każdego punktu końcowego, schematu i definicji zabezpieczeń.
Natywna klasa Delphi, która czyta specyfikacje OpenAPI 3.0, 3.1 i 3.2 oraz dokumenty Swagger 2.0 konwertowane już przy wczytywaniu, dając programowy dostęp do każdego punktu końcowego, schematu i definicji zabezpieczeń.
Nie ma czego przeciągać na formularz. sgcOpenAPI nie rejestruje żadnych komponentów i nie zawiera pakietu projektowego, więc klasę TsgcOpenAPI z sgcOpenAPI_Classes.pas tworzysz w kodzie i wczytujesz do niej dowolną specyfikację.
ReadFromFile przyjmuje ścieżkę, a Read dokument jako łańcuch znaków; adres URL pobiera wcześniej narzędzie wiersza poleceń. JSON i YAML są czytane lokalnie, a dokument Swagger 2.0 jest lokalnie konwertowany do OpenAPI 3.0.
Paths, Webhooks, Components, Security, Servers, Tags i Info są właściwościami obiektu, więc ścieżki, operacje, parametry, treści żądań i odpowiedzi, schematy oraz schematy zabezpieczeń są dostępne przez silnie typowany model.
TsgcOpenAPI_Parser_Client_Pascal dziedziczy po tej samej klasie, więc generator to czytnik z dołożonym emiterem. Dziedzicz po nim, aby tworzyć moduły Pascala, albo sam przejdź po modelu na potrzeby własnych narzędzi i automatyzacji.
Wskaźnik $ref zostaje na obiekcie jako _Ref, zamiast być wstawiony w treść, więc model nie przychodzi rozwiązany. Referencje do plików zewnętrznych i do adresów URL pobiera wcześniej TsgcOpenAPI_Bundle, wstawia je w treść, pamięta to, co już odwiedził, i zatrzymuje się na maksymalnej głębokości.
AllOf, OneOf i AnyOf są wczytywane do obiektu schematu razem z Discriminator i jego mapowaniem, a generator kodu spłaszcza je do klas Pascala.
Warnings zbiera wszystko, czego czytnik nie zdołał uwzględnić, od brakującego obiektu info po słowo kluczowe pomijane przez generator, i jest czyszczone przy każdym odczycie. Numer wiersza i kolumny podawany jest dla dokumentu YAML, którego nie da się sparsować.