Amazon AWS
REST-service-SDK's voor S3, EC2, Lambda, DynamoDB, SQS, SNS, CloudFormation en meer. Zet de unit in je project en roep de service aan met getypeerde request- en response-classes.
Bekijk de AWS-SDK's →
Richt sgcOpenAPI op een OpenAPI 3.x-document. De parser leest het, de generator produceert een native Object Pascal-SDK, en het OpenAPI-servercomponent publiceert je eigen endpoints weer als een live spec. Of sla de generator helemaal over, want 1.195+ SDK's voor AWS, Azure, Google Cloud en Microsoft Graph zijn al gebouwd en meegeleverd.
Elke tier van sgcOpenAPI, Single, Team en Site, bevat de parser, de codegenerator, het OpenAPI-servercomponent en de volledige bibliotheek met kant-en-klare SDK's. Er wordt niets apart verkocht.
Eén gebundeld product voor Delphi en C++ Builder: een OpenAPI 3.x-parser, een native Pascal-SDK-generator, een OpenAPI-servercomponent, en 1.195+ kant-en-klare cloud-SDK's. Volledige broncode, royaltyvrije implementatie.
Je hoeft niets te genereren om te beginnen. De vier grootste cloudplatforms worden als kant-en-klare Pascal-SDK's meegeleverd in sgcOpenAPI, gegenereerd uit de officiële specificaties en up-to-date gehouden.
REST-service-SDK's voor S3, EC2, Lambda, DynamoDB, SQS, SNS, CloudFormation en meer. Zet de unit in je project en roep de service aan met getypeerde request- en response-classes.
Bekijk de AWS-SDK's →De grootste set in de bibliotheek. Azure VM's, Blob Storage, Functions, Cosmos DB, Key Vault en de rest van de Azure-control-plane, elk een gegenereerde Pascal-client.
Bekijk de Azure-SDK's →Compute Engine, Cloud Storage, BigQuery, Pub/Sub, Cloud Functions en meer.
Bekijk de Google-SDK's →Office 365, Microsoft Teams, OneDrive, Outlook en Active Directory, via de Graph API.
Bekijk de Microsoft-SDK's →Als de API een OpenAPI- of Swagger-document publiceert, maakt de generator er dezelfde soort getypeerde Pascal-unit van. Er is geen allowlist.
Functies van de generator →Uitgewerkte handleidingen, van een openbare specificatie tot een compilerende Delphi-client:
Vijf stappen, allemaal binnen de IDE. Geen Node.js, geen Java-codegenerator, geen template-engine om te leren.
Laad een OpenAPI 3.x-document uit een bestand, een URL of een string, in JSON of YAML. Swagger 1.x- en 2.x-bestanden worden herkend en voor je omgezet naar het OpenAPI 3.x-model.
TsgcOpenAPIParser lost $ref-pointers op, ook naar externe bestanden en circulaire verwijzingen, vlakt allOf, oneOf en anyOf af, en meldt structuurfouten tot op regelniveau.
TsgcOpenAPIGenerator produceert sterk getypeerde Pascal-classes, -records en -enumeraties, gegroepeerd als één class per tag, plus PDF- en CHM-documentatie naast de code.
Zet de gegenereerde units in je project. Er zijn geen externe afhankelijkheden buiten de sgcOpenAPI-runtime, op Delphi 7 tot en met RAD Studio 13 en C++ Builder 2007 tot en met 13.
Stel BaseURL in, stel de inloggegevens in, en roep de operatie aan. Type-veilige methodes, getypeerde resultaten, volledige IntelliSense in de 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;
De parser en de generator zijn afzonderlijke componenten, dus je kunt het geparste model ook zelf doorlopen en er je eigen tooling bovenop bouwen. Het parsercomponent →
TsgcOpenAPIServer publiceert een live OpenAPI 3.x-document, routeert binnenkomende verzoeken volgens de spec, valideert payloads in beide richtingen, en levert een ingebouwde Swagger UI en Redoc, allemaal vanuit één Delphi-component bovenop de sgcWebSockets HTTP/2-server.
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} voert de handler hierboven uit. GET /openapi.json geeft het live document terug. GET /docs opent Swagger UI en GET /redoc opent Redoc. HTTP/2 en TLS staan al aan als de HTTP-server ze geconfigureerd heeft.
Laad een YAML- of JSON-contract en koppel handlers aan de operation-ID's, of registreer handlers in Pascal en laat het component het OpenAPI-document tijdens runtime opbouwen.
Verplichte velden, typeconversie, enum-waarden, formaatvalidators, lengte- en bereikgrenzen, patronen en schemacompositie worden allemaal afgedwongen voordat de handler draait. Fouten komen terug als RFC 7807 problem details met diagnostiek op veldniveau.
Elk securityScheme in het document wordt automatisch afgedwongen. Jij schrijft de opzoekactie voor de inloggegevens, het component doet het parsen, de challenge-headers en de 401- en 403-antwoorden.
De server draait op dezelfde sgcWebSockets HTTP-server die je WebSocket-endpoints en statische bestanden host. Eén poort, één TLS-certificaat, één logstroom.
sgcOpenAPI is een van de zes eSeGeCe-componentenbibliotheken voor Delphi, C++ Builder en .NET. Ze delen dezelfde conventies, worden geleverd met volledige broncode en zijn royaltyvrij te implementeren.
OpenAPI 3.x-parser, native Pascal-SDK-generator, OpenAPI-servercomponent, en 1.195+ kant-en-klare SDK's voor AWS, Azure, Google Cloud en Microsoft Graph.
Meer informatie →WebSocket, HTTP/2, HTTP/3, MQTT, AMQP, WebRTC, AI en 30+ API-integraties. De HTTP-server waarop het OpenAPI-servercomponent draait.
Meer informatie →Server-side HTML- en UI-componenten op Bootstrap 5 en htmx. Bouw de beheer- of dashboard-UI voor de REST-clients die je genereert, zonder JavaScript-front-end.
Meer informatie →XAdES, PAdES, CAdES en ASiC voor documenten, Authenticode, ClickOnce, NuGet en VSIX voor code. Onderteken de request- en response-bodies die je API uitwisselt.
Meer informatie →Windows Hello, vingerafdruksensoren en het Windows Biometric Framework voor Delphi en C++ Builder. Zet API-toegang achter een vingerafdruk.
Meer informatie →Bijgewerkte Indy TCP/IP-componenten met moderne TLS, IPv6 en HTTP/2 voor Delphi 7 tot en met 13. De transportlaag onder de gegenereerde clients.
Meer informatie →Vertrouwd door Delphi-, C++ Builder-, Lazarus- en .NET-ontwikkelaars over de hele wereld.
Jullie sgcWebSockets-bibliotheek is erg handig en eenvoudig op te zetten. Ga zo door!
sgcWebSockets is geweldig en jullie support is de beste!
Heel erg bedankt voor jullie hulp en ondersteuning, ik ben dol op jullie componenten.