eSeGeCe — Componenti di comunicazione enterprise per Delphi e .NET
IN EVIDENZA · sgcOpenAPI

Basta scrivere a mano i client REST

Punta sgcOpenAPI su un documento OpenAPI 3.x. Il parser lo legge, il generatore produce un SDK Object Pascal nativo e il componente server OpenAPI pubblica i tuoi endpoint come specifica live. Oppure salta del tutto il generatore, perché oltre 1.195 SDK per AWS, Azure, Google Cloud e Microsoft Graph sono già pronti e inclusi.

  • OpenAPI 3.0 e 3.1
  • JSON e YAML
  • Swagger 2.0 convertito in automatico
  • Da Delphi 7 a RAD Studio 13

L'SDK di cui hai bisogno è probabilmente già scritto

Ogni livello di sgcOpenAPI, Single, Team e Site, include il parser, il generatore di codice, il componente server OpenAPI e l'intera libreria di SDK precompilati. Nulla viene venduto separatamente.

1.195+ SDK cloud precompilati Generati dalle specifiche OpenAPI ufficiali e aggiornati regolarmente.
280+ Servizi Amazon AWS SDK di servizi REST che coprono S3, EC2, Lambda, DynamoDB, SQS, SNS, CloudFormation e altro ancora.
650+ Servizi Microsoft Azure Azure VM, Blob Storage, Functions, Cosmos DB, Key Vault e altro ancora.
250+ Servizi Google Cloud Compute Engine, Cloud Storage, BigQuery, Pub/Sub, Cloud Functions e altro ancora.
15+ SDK Microsoft Graph Office 365, Microsoft Teams, OneDrive, Outlook e Active Directory.
sgcOpenAPI

Un unico prodotto per Delphi e C++ Builder: parser OpenAPI 3.x, generatore nativo di SDK Pascal, componente server OpenAPI e oltre 1.195 SDK cloud precompilati. Sorgente completo, distribuzione senza royalty.

Quattro cloud, già in Pascal

Non devi generare nulla per iniziare. Le quattro maggiori piattaforme cloud arrivano come SDK Pascal pronti all'uso dentro sgcOpenAPI, generati dalle specifiche ufficiali e mantenuti aggiornati.

Oltre 280 servizi

Amazon AWS

SDK di servizi REST che coprono S3, EC2, Lambda, DynamoDB, SQS, SNS, CloudFormation e altro ancora. Inserisci la unit nel progetto e chiama il servizio con classi di richiesta e risposta tipizzate.

Vedi gli SDK AWS →
Oltre 650 servizi

Microsoft Azure

Il set più ampio della libreria. Azure VM, Blob Storage, Functions, Cosmos DB, Key Vault e il resto del control plane di Azure, ognuno con il suo client Pascal generato.

Vedi gli SDK Azure →
Oltre 250 servizi

Google Cloud

Compute Engine, Cloud Storage, BigQuery, Pub/Sub, Cloud Functions e altro ancora.

Vedi gli SDK Google →
Oltre 15 SDK

Microsoft Graph

Office 365, Microsoft Teams, OneDrive, Outlook e Active Directory, tramite la Graph API.

Vedi gli SDK Microsoft →
Tutto il resto

Qualsiasi altra specifica

Se l'API pubblica un documento OpenAPI o Swagger, il generatore lo trasforma nello stesso tipo di unit Pascal tipizzata. Non esiste alcuna lista di API ammesse.

Funzionalità del generatore →

Guide pratiche, da una specifica pubblica a un client Delphi che compila:

Specifica in ingresso, codice che compila in uscita

Cinque passaggi, tutti dentro l'IDE. Niente Node.js, nessun generatore di codice Java, nessun template engine da imparare.

  1. 1 Puntalo su una specifica

    Carica un documento OpenAPI 3.x da un file, un URL o una stringa, in JSON o YAML. I file Swagger 1.x e 2.x vengono riconosciuti e convertiti nel modello OpenAPI 3.x al posto tuo.

  2. 2 Analizza

    TsgcOpenAPIParser risolve i puntatori $ref, compresi i file esterni e i riferimenti circolari, appiattisce allOf, oneOf e anyOf, e segnala gli errori strutturali con dettaglio a livello di riga.

  3. 3 Genera

    TsgcOpenAPIGenerator produce classi, record ed enumerazioni Pascal fortemente tipizzate, raggruppate una classe per tag, più la documentazione PDF e CHM insieme al codice.

  4. 4 Compila

    Inserisci le unit generate nel progetto. Non ci sono dipendenze esterne oltre al runtime di sgcOpenAPI, da Delphi 7 a RAD Studio 13 e da C++ Builder 2007 a 13.

  5. 5 Chiama

    Imposta BaseURL, imposta le credenziali e chiama l'operazione. Metodi type-safe, risultati tipizzati, IntelliSense completo nell'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;

Il parser e il generatore sono componenti separati, quindi puoi anche percorrere tu stesso il modello analizzato e costruirci sopra i tuoi strumenti. Il componente parser →

Pubblica la specifica, non limitarti a consumarla

TsgcOpenAPIServer pubblica un documento OpenAPI 3.x live, instrada le richieste in arrivo secondo la specifica, valida i payload in entrambe le direzioni e include Swagger UI e Redoc integrati, il tutto da un unico componente Delphi appoggiato al server HTTP/2 di 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;

Cosa ottieni

GET /pets/{petId} esegue il gestore qui sopra. GET /openapi.json restituisce il documento live. GET /docs apre Swagger UI e GET /redoc apre Redoc. HTTP/2 e TLS sono già attivi se il server HTTP li ha configurati.

Spec-first o code-first

Carica un contratto YAML o JSON e collega i gestori agli ID delle operazioni, oppure registra i gestori in Pascal e lascia che sia il componente a costruire il documento OpenAPI a runtime.

Validazione in entrambe le direzioni

Campi obbligatori, coercizione dei tipi, appartenenza agli enum, validatori di formato, limiti di lunghezza e di intervallo, pattern e composizione degli schemi vengono applicati tutti prima che il gestore venga eseguito. Gli errori tornano indietro come problem details RFC 7807 con diagnostica a livello di campo.

Autenticazione cablata dalla specifica

Ogni securityScheme presente nel documento viene applicato in automatico. Tu scrivi la ricerca delle credenziali, il componente si occupa del parsing, degli header di challenge e delle risposte 401 e 403.

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

Il componente server OpenAPI →

Il server gira sullo stesso server HTTP di sgcWebSockets che ospita i tuoi endpoint WebSocket e i file statici. Una sola porta, un solo certificato TLS, un solo flusso di log.

Sei librerie, un'unica cassetta degli attrezzi

sgcOpenAPI è una delle sei librerie di componenti eSeGeCe per Delphi, C++ Builder e .NET. Condividono le stesse convenzioni, includono il sorgente completo e si distribuiscono senza royalty.

sgcOpenAPI

Parser OpenAPI 3.x, generatore nativo di SDK Pascal, componente server OpenAPI e oltre 1.195 SDK precompilati per AWS, Azure, Google Cloud e Microsoft Graph.

Scopri di più →

sgcWebSockets

WebSocket, HTTP/2, HTTP/3, MQTT, AMQP, WebRTC, IA e oltre 30 integrazioni API. Il server HTTP su cui gira il componente server OpenAPI.

Scopri di più →

sgcHTML

Componenti HTML e UI lato server su Bootstrap 5 e htmx. Costruisci l'interfaccia di amministrazione o la dashboard per i client REST che generi, senza un front end JavaScript.

Scopri di più →

sgcSign

XAdES, PAdES, CAdES e ASiC per i documenti, Authenticode, ClickOnce, NuGet e VSIX per il codice. Firma i corpi di richiesta e risposta che la tua API si scambia.

Scopri di più →

sgcBiometrics

Windows Hello, sensori di impronte digitali e il Windows Biometric Framework per Delphi e C++ Builder. Proteggi l'accesso alle API dietro un'impronta digitale.

Scopri di più →

sgcIndy

Componenti Indy TCP/IP aggiornati con TLS moderno, IPv6 e HTTP/2, da Delphi 7 a 13. Il livello di trasporto sotto i client generati.

Scopri di più →

Vedi prezzi ed edizioni Scarica la versione di prova

Cosa dicono gli sviluppatori

Scelta da sviluppatori Delphi, C++ Builder, Lazarus e .NET in tutto il mondo.

La vostra libreria sgcWebSockets è molto utile e semplice da configurare. Continuate così!

Simone Moretti Sviluppatore Delphi

sgcWebSockets è straordinario e il vostro supporto è il migliore!

Christian Meyer Fondatore e CTO

Grazie mille per il vostro aiuto e supporto, adoro i vostri componenti.

Mark Steinfeld CTO

Questa è la vista OpenAPI di eSeGeCe.

Mostrami un altro punto di vista →
Garanzia soddisfatti o rimborsati di 30 giorniNon sei soddisfatto? Richiedi un rimborso completo entro 30 giorni dall'acquisto. Vedi la politica di rimborso

Genera oggi il tuo primo SDK Pascal

Parser, generatore di codice, componente server OpenAPI e tutti gli oltre 1.195 SDK cloud precompilati, con un'unica licenza. Sorgente completo, distribuzione senza royalty, da Delphi 7 a RAD Studio 13.