eSeGeCe — Composants de communication d’entreprise pour Delphi & .NET
EN VEDETTE · sgcOpenAPI

Arrête d’écrire à la main tes clients REST

Pointe sgcOpenAPI vers un document OpenAPI 3.x. Le parser le lit, le générateur produit un SDK Object Pascal natif, et le composant serveur OpenAPI republie tes propres endpoints sous forme de spécification en direct. Ou saute complètement l’étape de génération, parce que plus de 1 195 SDK pour AWS, Azure, Google Cloud et Microsoft Graph sont déjà construits et livrés avec le produit.

  • OpenAPI 3.0 et 3.1
  • JSON et YAML
  • Swagger 2.0 converti automatiquement
  • De Delphi 7 à RAD Studio 13

Le SDK dont tu as besoin est sans doute déjà écrit

Chaque niveau de sgcOpenAPI, Single, Team et Site, regroupe le parser, le générateur de code, le composant serveur OpenAPI et toute la bibliothèque de SDK préconçus. Rien n’est vendu séparément.

1 195+ SDK cloud préconçus Générés à partir des spécifications OpenAPI officielles et mis à jour régulièrement.
280+ Services Amazon AWS Des SDK de services REST couvrant S3, EC2, Lambda, DynamoDB, SQS, SNS, CloudFormation et plus encore.
650+ Services Microsoft Azure Azure VMs, Blob Storage, Functions, Cosmos DB, Key Vault et plus encore.
250+ Services Google Cloud Compute Engine, Cloud Storage, BigQuery, Pub/Sub, Cloud Functions et plus encore.
15+ SDK Microsoft Graph Office 365, Microsoft Teams, OneDrive, Outlook et Active Directory.
sgcOpenAPI

Un seul produit groupé pour Delphi et C++ Builder : un parser OpenAPI 3.x, un générateur natif de SDK Pascal, un composant serveur OpenAPI et plus de 1 195 SDK cloud préconçus. Code source complet, déploiement sans royalties.

Quatre clouds, déjà en Pascal

Tu n’as rien à générer pour démarrer. Les quatre plus grandes plateformes cloud sont livrées dans sgcOpenAPI sous forme de SDK Pascal prêts à l’emploi, générés à partir des spécifications officielles et tenus à jour.

280+ services

Amazon AWS

Des SDK de services REST couvrant S3, EC2, Lambda, DynamoDB, SQS, SNS, CloudFormation et plus encore. Dépose l’unité dans le projet et appelle le service avec des classes de requête et de réponse typées.

Voir les SDK AWS →
650+ services

Microsoft Azure

Le plus grand ensemble de la bibliothèque. Azure VMs, Blob Storage, Functions, Cosmos DB, Key Vault et le reste du plan de contrôle Azure, chacun sous forme de client Pascal généré.

Voir les SDK Azure →
250+ services

Google Cloud

Compute Engine, Cloud Storage, BigQuery, Pub/Sub, Cloud Functions et plus encore.

Voir les SDK Google →
15+ SDK

Microsoft Graph

Office 365, Microsoft Teams, OneDrive, Outlook et Active Directory, via l’API Graph.

Voir les SDK Microsoft →
Tout le reste

Toute autre spécification

Si l’API publie un document OpenAPI ou Swagger, le générateur en fait le même type d’unité Pascal typée. Il n’y a aucune liste blanche.

Fonctionnalités du générateur →

Des guides pas à pas, d’une spécification publique à un client Delphi qui compile :

Une spec en entrée, du code qui compile en sortie

Cinq étapes, toutes dans l’IDE. Pas de Node.js, pas de générateur de code Java, pas de moteur de templates à apprendre.

  1. 1 Pointe-le vers une spec

    Charge un document OpenAPI 3.x depuis un fichier, une URL ou une chaîne, en JSON ou en YAML. Les fichiers Swagger 1.x et 2.x sont détectés et convertis au modèle OpenAPI 3.x pour toi.

  2. 2 Analyse

    TsgcOpenAPIParser résout les pointeurs $ref, y compris les fichiers externes et les références circulaires, aplatit allOf, oneOf et anyOf, et signale les erreurs de structure ligne par ligne.

  3. 3 Génère

    TsgcOpenAPIGenerator produit des classes, des records et des énumérations Pascal fortement typés, regroupés à raison d’une classe par tag, ainsi qu’une documentation PDF et CHM à côté du code.

  4. 4 Compile

    Dépose les unités générées dans le projet. Il n’y a aucune dépendance externe au-delà du runtime sgcOpenAPI, de Delphi 7 à RAD Studio 13 et de C++ Builder 2007 à 13.

  5. 5 Appelle

    Règle BaseURL, renseigne les identifiants et appelle l’opération. Méthodes et résultats typés, IntelliSense complet dans l’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;

Le parser et le générateur sont des composants distincts, tu peux donc aussi parcourir toi-même le modèle analysé et construire ton propre outillage par-dessus. Le composant parser →

Sers la spec, ne fais pas que la consommer

TsgcOpenAPIServer publie un document OpenAPI 3.x en direct, route les requêtes entrantes selon la spec, valide les charges utiles dans les deux sens et embarque Swagger UI et Redoc, le tout depuis un seul composant Delphi posé sur le serveur HTTP/2 de 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;

Ce que ça te donne

GET /pets/{petId} exécute le gestionnaire ci-dessus. GET /openapi.json renvoie le document en direct. GET /docs ouvre Swagger UI et GET /redoc ouvre Redoc. HTTP/2 et TLS sont déjà actifs si le serveur HTTP les a configurés.

Spec d’abord ou code d’abord

Charge un contrat YAML ou JSON et lie les gestionnaires aux identifiants d’opération, ou enregistre les gestionnaires en Pascal et laisse le composant construire le document OpenAPI à l’exécution.

Validation dans les deux sens

Champs obligatoires, conversion de types, appartenance aux énumérations, validateurs de format, limites de longueur et de plage, motifs et composition de schémas sont tous appliqués avant l’exécution du gestionnaire. Les échecs reviennent sous forme de problem details RFC 7807, avec un diagnostic champ par champ.

L’authentification câblée depuis la spec

Chaque securityScheme du document est appliqué automatiquement. Tu écris la recherche des identifiants, le composant se charge de l’analyse, des en-têtes de challenge et des réponses 401 et 403.

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

Le composant serveur OpenAPI →

Le serveur tourne sur le même serveur HTTP sgcWebSockets qui héberge tes endpoints WebSocket et tes fichiers statiques. Un seul port, un seul certificat TLS, un seul flux de journalisation.

Six bibliothèques, une seule boîte à outils

sgcOpenAPI est l’une des six bibliothèques de composants eSeGeCe pour Delphi, C++ Builder et .NET. Elles partagent les mêmes conventions, elles sont livrées avec le code source complet et se déploient sans royalties.

sgcOpenAPI

Parser OpenAPI 3.x, générateur natif de SDK Pascal, composant serveur OpenAPI et plus de 1 195 SDK préconçus pour AWS, Azure, Google Cloud et Microsoft Graph.

En savoir plus →

sgcWebSockets

WebSocket, HTTP/2, HTTP/3, MQTT, AMQP, WebRTC, IA et plus de 30 intégrations d’APIs. Le serveur HTTP sur lequel tourne le composant serveur OpenAPI.

En savoir plus →

sgcHTML

Composants HTML et d’interface côté serveur sur Bootstrap 5 et htmx. Construis l’interface d’administration ou le tableau de bord des clients REST que tu génères, sans front-end JavaScript.

En savoir plus →

sgcSign

XAdES, PAdES, CAdES et ASiC pour les documents, Authenticode, ClickOnce, NuGet et VSIX pour le code. Signe les corps de requête et de réponse que ton API échange.

En savoir plus →

sgcBiometrics

Windows Hello, capteurs d’empreintes digitales et Windows Biometric Framework pour Delphi et C++ Builder. Protège l’accès à ton API derrière une empreinte digitale.

En savoir plus →

sgcIndy

Composants Indy TCP/IP mis à jour avec TLS moderne, IPv6 et HTTP/2, de Delphi 7 à 13. La couche transport sous les clients générés.

En savoir plus →

Voir les tarifs et les éditions Télécharger l’essai gratuit

Ce que disent les développeurs

Plébiscité par des développeurs Delphi, C++ Builder, Lazarus et .NET dans le monde entier.

Votre bibliothèque sgcWebSockets est très utile et facile à configurer. Continuez votre excellent travail !

Simone Moretti Développeur Delphi

sgcWebSockets est incroyable et votre support est le meilleur !

Christian Meyer Fondateur & CTO

Merci beaucoup pour votre aide et votre support, j’adore vos composants.

Mark Steinfeld CTO

Tu vois la vue OpenAPI d’eSeGeCe.

Montre-moi un autre angle →
Garantie satisfait ou remboursé de 30 joursPas satisfait ? Demandez un remboursement intégral dans les 30 jours suivant l'achat. Voir la politique de remboursement

Génère ton premier SDK Pascal dès aujourd’hui

Le parser, le générateur de code, le composant serveur OpenAPI et les plus de 1 195 SDK cloud préconçus, sur une seule licence. Code source complet, déploiement sans royalties, de Delphi 7 à RAD Studio 13.