Amazon AWS
SDK usług REST obejmujące S3, EC2, Lambda, DynamoDB, SQS, SNS, CloudFormation i inne. Wrzuć moduł do projektu i wywołuj usługę z typowanymi klasami żądań i odpowiedzi.
Zobacz SDK AWS →
Wskaż sgcOpenAPI dokument OpenAPI 3.x. Parser go czyta, generator tworzy natywne SDK w Object Pascal, a komponent serwera OpenAPI publikuje twoje własne endpointy jako żywą specyfikację. Albo pomiń generator w całości, bo ponad 1 195 gotowych SDK dla AWS, Azure, Google Cloud i Microsoft Graph jest już zbudowanych i dołączonych.
Każdy poziom licencji sgcOpenAPI, Single, Team i Site, zawiera parser, generator kodu, komponent serwera OpenAPI oraz całą bibliotekę gotowych SDK. Nic nie jest sprzedawane osobno.
Jeden zintegrowany produkt dla Delphi i C++ Builder: parser OpenAPI 3.x, natywny generator SDK w Pascalu, komponent serwera OpenAPI oraz ponad 1 195 gotowych SDK chmurowych. Pełne źródła, wdrożenie bez opłat licencyjnych.
Nie musisz niczego generować, żeby zacząć. Cztery największe platformy chmurowe są dostarczane jako gotowe do użycia SDK w Pascalu wewnątrz sgcOpenAPI, wygenerowane z oficjalnych specyfikacji i utrzymywane na bieżąco.
SDK usług REST obejmujące S3, EC2, Lambda, DynamoDB, SQS, SNS, CloudFormation i inne. Wrzuć moduł do projektu i wywołuj usługę z typowanymi klasami żądań i odpowiedzi.
Zobacz SDK AWS →Największy zestaw w bibliotece. Maszyny wirtualne Azure, Blob Storage, Functions, Cosmos DB, Key Vault i reszta warstwy sterowania Azure, każda jako wygenerowany klient w Pascalu.
Zobacz SDK Azure →Compute Engine, Cloud Storage, BigQuery, Pub/Sub, Cloud Functions i inne.
Zobacz SDK Google →Office 365, Microsoft Teams, OneDrive, Outlook i Active Directory, przez Graph API.
Zobacz SDK Microsoft →Jeśli API publikuje dokument OpenAPI lub Swagger, generator zamienia go w taki sam typowany moduł Pascala. Nie ma żadnej listy dozwolonych.
Funkcje generatora →Przewodniki krok po kroku, od publicznej specyfikacji do kompilującego się klienta Delphi:
Pięć kroków, wszystkie wewnątrz IDE. Bez Node.js, bez generatora kodu w Javie, bez silnika szablonów do nauczenia.
Wczytaj dokument OpenAPI 3.x z pliku, adresu URL lub łańcucha znaków, w JSON lub YAML. Pliki Swagger 1.x i 2.x są wykrywane i konwertowane do modelu OpenAPI 3.x za ciebie.
TsgcOpenAPIParser rozwiązuje wskaźniki $ref, w tym pliki zewnętrzne i odwołania cykliczne, spłaszcza allOf, oneOf i anyOf oraz zgłasza błędy strukturalne ze szczegółami na poziomie wiersza.
TsgcOpenAPIGenerator tworzy silnie typowane klasy, rekordy i wyliczenia w Pascalu, pogrupowane po jednej klasie na tag, a obok kodu także dokumentację PDF i CHM.
Wrzuć wygenerowane moduły do projektu. Nie ma żadnych zewnętrznych zależności poza środowiskiem uruchomieniowym sgcOpenAPI, od Delphi 7 do RAD Studio 13 i od C++ Builder 2007 do 13.
Ustaw BaseURL, podaj poświadczenia i wywołaj operację. Metody bezpieczne typowo, typowane wyniki, pełny IntelliSense w IDE.
uses
sgcOpenAPI_Parser, sgcOpenAPI_Generator;
var
vParser: TsgcOpenAPIParser;
vGen: TsgcOpenAPIGenerator;
begin
vParser := TsgcOpenAPIParser.Create(nil);
try
vParser.LoadFromFile('C:\specs\github\api.github.com.json');
Memo1.Lines.Add(Format('GitHub spec: %d paths, %d schemas',
[vParser.Paths.Count, vParser.Schemas.Count]));
vGen := TsgcOpenAPIGenerator.Create(nil);
try
vGen.Parser := vParser;
vGen.OutputUnit := 'sgcOpenAPI_GitHub';
vGen.OutputFolder := 'C:\Generated\GitHub';
vGen.GroupBy := gbTag; // one class per tag
vGen.Generate;
finally
vGen.Free;
end;
finally
vParser.Free;
end;
end;
uses
sgcOpenAPI_PetStore; // Generated from petstore.yaml
procedure TForm1.btnGetPetClick(Sender: TObject);
var
Client: TsgcOpenAPI_PetStoreClient;
Pet: TsgcOpenAPI_Pet;
begin
Client := TsgcOpenAPI_PetStoreClient.Create(nil);
try
Client.BaseURL := 'https://petstore.swagger.io/v2';
Client.ApiKey := 'your-api-key';
// Type-safe API call with IntelliSense
Pet := Client.GetPetById(42);
try
Memo1.Lines.Add('Name: ' + Pet.Name);
Memo1.Lines.Add('Status: ' + Pet.Status);
Memo1.Lines.Add('Category: ' + Pet.Category.Name);
finally
Pet.Free;
end;
finally
Client.Free;
end;
end;
Parser i generator to osobne komponenty, więc możesz też sam poruszać się po sparsowanym modelu i zbudować na nim własne narzędzia. Komponent parsera →
TsgcOpenAPIServer publikuje na żywo dokument OpenAPI 3.x, kieruje przychodzące żądania zgodnie ze specyfikacją, waliduje payloady w obu kierunkach i dostarcza wbudowane Swagger UI oraz Redoc, wszystko z jednego komponentu Delphi działającego na serwerze HTTP/2 sgcWebSockets.
uses
sgcOpenAPI_Server, sgcOpenAPI_Types, sgcHTTP_Server;
procedure TForm1.FormCreate(Sender: TObject);
begin
FServer := TsgcOpenAPIServer.Create(nil);
FServer.HTTPServer := sgcHTTPServer1;
FServer.Spec.LoadFromFile('petstore.yaml');
FServer.PublishSpecPath := '/openapi.json';
FServer.SwaggerUIPath := '/docs';
FServer.RedocPath := '/redoc';
// Bind an operation declared in the spec
FServer.OnOperation_getPetById :=
procedure(const Ctx: TsgcOpenAPIContext)
var
oPet: TJSONObject;
begin
oPet := TJSONObject.Create;
oPet.AddPair('id', Ctx.PathParams['petId']);
oPet.AddPair('name', 'Rex');
oPet.AddPair('status', 'available');
Ctx.RespondJSON(200, oPet);
end;
sgcHTTPServer1.Port := 8080;
sgcHTTPServer1.Active := True;
end;
GET /pets/{petId} uruchamia powyższą procedurę obsługi. GET /openapi.json zwraca żywy dokument. GET /docs otwiera Swagger UI, a GET /redoc otwiera Redoc. HTTP/2 i TLS są już włączone, jeśli serwer HTTP ma je skonfigurowane.
Wczytaj kontrakt YAML lub JSON i podepnij procedury obsługi do identyfikatorów operacji, albo zarejestruj procedury obsługi w Pascalu i pozwól komponentowi zbudować dokument OpenAPI w czasie działania.
Pola wymagane, konwersja typów, przynależność do wyliczenia, walidatory formatu, limity długości i zakresu, wzorce oraz kompozycja schematów są egzekwowane, zanim uruchomi się procedura obsługi. Błędy wracają jako problem details w formacie RFC 7807, ze szczegółami na poziomie pola.
Każdy securityScheme w dokumencie jest egzekwowany automatycznie. Ty piszesz wyszukiwanie poświadczeń, komponent zajmuje się parsowaniem, nagłówkami wyzwania oraz odpowiedziami 401 i 403.
Serwer działa na tym samym serwerze HTTP sgcWebSockets, który hostuje twoje endpointy WebSocket i pliki statyczne. Jeden port, jeden certyfikat TLS, jeden strumień logów.
sgcOpenAPI to jedna z sześciu bibliotek komponentów eSeGeCe dla Delphi, C++ Builder i .NET. Dzielą te same konwencje, dostarczane są z pełnym kodem źródłowym i wdrażane bez opłat licencyjnych.
Parser OpenAPI 3.x, natywny generator SDK w Pascalu, komponent serwera OpenAPI oraz ponad 1 195 gotowych SDK dla AWS, Azure, Google Cloud i Microsoft Graph.
Dowiedz się więcej →WebSocket, HTTP/2, HTTP/3, MQTT, AMQP, WebRTC, AI oraz ponad 30 integracji API. Serwer HTTP, na którym działa komponent serwera OpenAPI.
Dowiedz się więcej →Komponenty HTML i UI po stronie serwera, oparte na Bootstrap 5 i htmx. Zbuduj panel administracyjny lub pulpit dla generowanych klientów REST, bez front-endu w JavaScript.
Dowiedz się więcej →XAdES, PAdES, CAdES i ASiC dla dokumentów, Authenticode, ClickOnce, NuGet i VSIX dla kodu. Podpisuj treści żądań i odpowiedzi, które wymienia twoje API.
Dowiedz się więcej →Windows Hello, czytniki linii papilarnych i Windows Biometric Framework dla Delphi i C++ Builder. Zabezpiecz dostęp do API odciskiem palca.
Dowiedz się więcej →Zaktualizowane komponenty Indy TCP/IP z nowoczesnym TLS, IPv6 i HTTP/2 od Delphi 7 do 13. Warstwa transportowa pod wygenerowanymi klientami.
Dowiedz się więcej →Zaufali nam programiści Delphi, C++ Builder, Lazarus i .NET na całym świecie.
Wasza biblioteka sgcWebSockets jest bardzo przydatna i łatwa w konfiguracji. Tak trzymać!
sgcWebSockets jest niesamowity, a wasze wsparcie jest najlepsze!
Bardzo dziękuję za pomoc i wsparcie, uwielbiam wasze komponenty.