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 →
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.
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.
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.
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.
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 →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 →Compute Engine, Cloud Storage, BigQuery, Pub/Sub, Cloud Functions e altro ancora.
Vedi gli SDK Google →Office 365, Microsoft Teams, OneDrive, Outlook e Active Directory, tramite la Graph API.
Vedi gli SDK Microsoft →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:
Cinque passaggi, tutti dentro l'IDE. Niente Node.js, nessun generatore di codice Java, nessun template engine da imparare.
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.
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.
TsgcOpenAPIGenerator produce classi, record ed enumerazioni Pascal fortemente tipizzate, raggruppate una classe per tag, più la documentazione PDF e CHM insieme al codice.
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.
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 →
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.
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} 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.
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.
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.
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.
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.
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.
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ù →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ù →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ù →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ù →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ù →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ù →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ì!
sgcWebSockets è straordinario e il vostro supporto è il migliore!
Grazie mille per il vostro aiuto e supporto, adoro i vostri componenti.