eSeGeCe — komponenty komunikacyjne klasy enterprise dla Delphi i .NET
WYRÓŻNIONE · sgcOpenAPI

Przestań ręcznie pisać klientów REST

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.

  • OpenAPI 3.0 i 3.1
  • JSON i YAML
  • Swagger 2.0 konwertowany automatycznie
  • Delphi 7 do RAD Studio 13

SDK, którego potrzebujesz, prawdopodobnie już istnieje

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.

1,195+ Gotowe SDK chmurowe Wygenerowane z oficjalnych specyfikacji OpenAPI i regularnie aktualizowane.
280+ Usługi Amazon AWS SDK usług REST obejmujące S3, EC2, Lambda, DynamoDB, SQS, SNS, CloudFormation i inne.
650+ Usługi Microsoft Azure Maszyny wirtualne Azure, Blob Storage, Functions, Cosmos DB, Key Vault i inne.
250+ Usługi Google Cloud Compute Engine, Cloud Storage, BigQuery, Pub/Sub, Cloud Functions i inne.
15+ SDK Microsoft Graph Office 365, Microsoft Teams, OneDrive, Outlook i Active Directory.
sgcOpenAPI

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.

Cztery chmury, już w Pascalu

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.

280+ usług

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 →
650+ usług

Microsoft Azure

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 →
250+ usług

Google Cloud

Compute Engine, Cloud Storage, BigQuery, Pub/Sub, Cloud Functions i inne.

Zobacz SDK Google →
15+ SDK

Microsoft Graph

Office 365, Microsoft Teams, OneDrive, Outlook i Active Directory, przez Graph API.

Zobacz SDK Microsoft →
Cała reszta

Dowolna inna specyfikacja

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:

Specyfikacja na wejściu, kompilujący się kod na wyjściu

Pięć kroków, wszystkie wewnątrz IDE. Bez Node.js, bez generatora kodu w Javie, bez silnika szablonów do nauczenia.

  1. 1 Wskaż mu specyfikację

    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.

  2. 2 Parsuj

    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.

  3. 3 Generuj

    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.

  4. 4 Kompiluj

    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.

  5. 5 Wywołuj

    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 →

Serwuj specyfikację, nie tylko ją konsumuj

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.

OpenAPIServer.pas
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;

Co to daje

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.

Spec-first lub code-first

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.

Walidacja w obu kierunkach

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.

Uwierzytelnianie podpięte ze specyfikacji

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.

Klucz API HTTP Basic Bearer JWT OAuth2 OpenID Connect mTLS Swagger UI + Redoc

Komponent serwera OpenAPI →

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.

Sześć bibliotek, jedna skrzynka narzędziowa

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.

sgcOpenAPI

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 →

sgcWebSockets

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 →

sgcHTML

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 →

sgcSign

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 →

sgcBiometrics

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 →

sgcIndy

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 →

Zobacz cennik i edycje Pobierz bezpłatną wersję próbną

Co mówią programiści

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ć!

Simone Moretti Programista Delphi

sgcWebSockets jest niesamowity, a wasze wsparcie jest najlepsze!

Christian Meyer Założyciel i CTO

Bardzo dziękuję za pomoc i wsparcie, uwielbiam wasze komponenty.

Mark Steinfeld CTO

Oglądasz widok OpenAPI eSeGeCe.

Pokaż mi inne ujęcie →
30-dniowa gwarancja zwrotu pieniędzyNie jesteś zadowolony? Poproś o pełny zwrot pieniędzy w ciągu 30 dni od zakupu. Zobacz politykę zwrotów

Wygeneruj swoje pierwsze SDK w Pascalu już dziś

Parser, generator kodu, komponent serwera OpenAPI i wszystkie gotowe SDK chmurowe, ponad 1 195 z nich, na jednej licencji. Pełne źródła, wdrożenie bez opłat licencyjnych, od Delphi 7 do RAD Studio 13.