eSeGeCe — Enterprise-communicatiecomponenten voor Delphi & .NET
UITGELICHT · sgcREST

REST-API's vanuit een OpenAPI-contract, native in Delphi

Drie componenten dekken twee taken. TsgcHTTPRESTServer is een REST-server met CORS, opt-in /metrics- en /health-endpoints en ingebouwde multi-tenant requestresolutie. TsgcWSAPIServer_OpenAPI laadt een OpenAPI 3.x-contract met LoadFromFile en dispatcht, valideert en authenticeert elk verzoek eraan. TsgcOpenAPI_Client is de basisklasse achter getypeerde clients voor elke OpenAPI-beschreven API. Standalone, de sgcWebSockets Core runtime is inbegrepen.

  • 3 componentklassen
  • REST-server · OpenAPI-server · OpenAPI-client
  • CORS, /metrics, /health, multi-tenancy
  • Delphi 7 tot en met 13 · C++ Builder

Twee Paletcomponenten, Eén Client-basisklasse

sgcREST is een standalone package. Het levert de sgcWebSockets Core runtime waarop het is gebouwd mee, en elke licentie komt met volledige broncode, zodat de REST-dispatch en OpenAPI-validatie in je eigen debugger stap voor stap te volgen zijn.

2 Paletcomponenten TsgcHTTPRESTServer op de paletpagina SGC REST, TsgcWSAPIServer_OpenAPI op de paletpagina SGC OpenAPI.
3 Componentklassen in totaal REST-server, OpenAPI-server en de OpenAPI-client-basisklasse.
2 Ingebouwde endpoints /metrics en /health, opt-in en geserveerd achter wat voor Authentication de server al afdwingt.
1 Standalone installer De sgcWebSockets Core runtime en de HTTP/TLS-laag zitten allebei in het pakket.
100% Broncode inbegrepen Elke licentie bevat de volledige broncode van alle drie de componenten en de meegeleverde runtime.
sgcREST

REST-server en OpenAPI-server-/clientcomponenten voor Delphi en C++ Builder. Een standalone package met de sgcWebSockets Core runtime inbegrepen, volledige broncode, en royaltyvrije implementatie.

Publiceer een API, of consumeer er een

De drie klassen splitsen zich netjes op basis van richting. De REST-server en de OpenAPI-server publiceren endpoints die je aanroepers bereiken. De OpenAPI-client-basisklasse is wat gegenereerde SDK's gebruiken om andermans endpoints aan te roepen.

REST Server

CORS, Metrics, Health en Tenancy, Ingebouwd

TsgcHTTPRESTServer breidt de sgcWebSockets HTTP-server uit met de alledaagse loodgieterij die een REST API nodig heeft: CORSOptions voor cross-origin requests, opt-in /metrics- en /health-endpoints via ServerStats, en multi-tenant requestresolutie via Tenancy, op host, pad, header of JWT-claim. Tenant geeft de herleide waarde door aan je eigen requesthandlers.

Bekijk de REST-server →
OpenAPI Server

Laad een Contract, Dispatch en Valideer Elk Verzoek

TsgcWSAPIServer_OpenAPI leest een OpenAPI 3.x-document met LoadFromFile of LoadFromString en zet het om in een levende dispatcher: elk binnenkomend verzoek wordt aan het contract getoetst en op operation-id naar je OnRequest-handler gerouteerd. OnValidationError, OnAuthenticate, OnValidateAPIKey, OnValidateBasic en OnValidateBearer dekken de beveiligingsschema's die de spec declareert, en OnBeforeRequest/OnAfterRequest omsluiten de aanroep.

Bekijk de OpenAPI-server →
OpenAPI Client

Eén Basisklasse Achter Elke Gegenereerde SDK

TsgcOpenAPI_Client is de generieke runtimeclient voor elke OpenAPI-beschreven API: Authentication dekt Basic auth, bearer token, generieke OAuth2 en JWT, en HTTP_REQUEST en HTTP_REQUEST_Async voeren de aanroep uit. Wijs SetBaseURL naar een contract dat je hebt geladen of zelf gegenereerd, en hij is klaar om aan te roepen.

Bekijk wat het allemaal kan →
Escape hatch

Elke Callback die de Spec Nodig Heeft

OnException vangt handlerfouten op voordat ze de lijn bereiken, en de validatie- en authenticatie-events ontvangen allemaal de geparste TsgcOpenAPIServerContext, met PathParams, QueryParams en RespondJSON, dus niets over waarom een aanroep is geaccepteerd of geweigerd blijft voor je verborgen.

Het validatieoppervlak →
Cross-platform

Vijf Platforms, Eén Runtime

De REST-server en de OpenAPI-server zijn afstammelingen van TsgcHTTPServer, en de OpenAPI-client draait op dezelfde HTTPS-stack als de rest van de Core runtime. Van Delphi 7 tot en met RAD Studio 13 en op C++ Builder.

De feature-matrix →

Referentiepagina's voor elk component:

Publiceer een Endpoint, of Publiceer een Contract

De REST-server geeft je het verzoek rechtstreeks. De OpenAPI-server geeft je een gevalideerde, al gematchte operatie. Beide compileren hetzelfde in Delphi 7 tot 13 en C++ Builder.

uses
  sgcHTTP_REST_Server, sgcHTTP_REST_Server_Stats;
var
  RESTServer: TsgcHTTPRESTServer;
  Stats: TsgcHTTPServerStats;
begin
  // REST server: CORS, health/metrics and tenancy in one component
  RESTServer := TsgcHTTPRESTServer.Create(nil);
  Stats := TsgcHTTPServerStats.Create(nil);
  Stats.Endpoints.Health.Enabled := True;

  RESTServer.Port := 8080;
  RESTServer.CORSOptions.Enabled := True;
  RESTServer.CORSOptions.AllowOrigins := 'https://app.example.com';
  RESTServer.ServerStats := Stats;
  RESTServer.OnCommandGet := RESTServerCommandGet;
  RESTServer.Active := True;
end;

procedure TForm1.RESTServerCommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
  AResponseInfo.ContentText := '{"status":"ok"}';
end;
uses
  sgcWebSocket_Server_API_OpenAPI, sgcHTTP_Server;
var
  OpenAPIServer: TsgcWSAPIServer_OpenAPI;
begin
  // OpenAPI server: load the contract, dispatch by operation id
  OpenAPIServer := TsgcWSAPIServer_OpenAPI.Create(nil);
  OpenAPIServer.Server := sgcHTTPServer1;
  OpenAPIServer.LoadFromFile('petstore.yaml');
  OpenAPIServer.OnRequest := OpenAPIServerRequest;

  sgcHTTPServer1.Port := 8080;
  sgcHTTPServer1.Active := True;
end;

procedure TForm1.OpenAPIServerRequest(Sender: TObject;
  const aOperationId: string; const aContext: TsgcOpenAPIServerContext;
  var Handled: Boolean);
begin
  if aOperationId = 'getPetById' then
  begin
    aContext.RespondJSON(200,
      '{"id":"' + aContext.PathParamAsString('petId') + '","name":"Rex"}');
    Handled := True;
  end;
end;

Dezelfde vorm in Object Pascal en in C++ Builder. De volledige feature-matrix →

Twee Dingen die je Eerst Moet Weten

Wat sgcREST van je nodig heeft, en wat niet. Beide antwoorden zijn kort, en beide staan op deze pagina in plaats van in de kleine lettertjes.

Drie componenten, twee taken
component                           rol
TsgcHTTPRESTServer                  publiceer een REST API: CORS,
                                       /metrics, /health, tenancy
TsgcWSAPIServer_OpenAPI             publiceer een REST API vanuit
                                       een OpenAPI 3.x-contract
TsgcOpenAPI_Client                  consumeer elke OpenAPI-beschreven API

Beide servercomponenten zijn TsgcHTTPServer-
  afstammelingen, dus ze koppelen aan dezelfde
  Port, TLSOptions en Authentication die je
  andere sgcWebSockets-servers al gebruiken.

sgcREST is standalone

Standalone, de sgcWebSockets Core runtime is inbegrepen: de HTTP/TLS-serverstack waar de REST-server en de OpenAPI-server allebei op draaien, en de JSON-laag waarmee de OpenAPI-client responses decodeert. Eén installer, volledige broncode in de doos.

REST-server en OpenAPI-server delen één basis

TsgcHTTPRESTServer en de HTTP-server waaraan een OpenAPI-server koppelt zijn allebei afstammelingen van TsgcHTTPServer, dus CORS, TLS, Authentication en de requestpijplijn gedragen zich hetzelfde ongeacht welke van de twee jouw API publiceert.

De OpenAPI-client heeft alleen het contract nodig

TsgcOpenAPI_Client herleidt paden, headers en authenticatie rechtstreeks vanuit het OpenAPI-document, via de gewone HTTPS-stack van de Core runtime.

Delphi en C++ Builder

sgcREST richt zich op Delphi 7 tot en met RAD Studio 13 en C++ Builder. De REST-server zit ook in sgcWebSockets Professional en hoger, en de OpenAPI-server en -client worden ook met het bestaande sgcOpenAPI-pakket meegeleverd, dus een bestaande licentie dekt je mogelijk al. De gratis proefinstaller is de sgcWebSockets All-Access-proefversie, dus alle drie klassen zijn vandaag al te evalueren.

OpenAPI 3.x CORS Multi-tenancy /metrics & /health Volledige broncode

Elk component en elke eigenschap →

sgcREST implementeert de REST- en OpenAPI-oppervlakken die je contract beschrijft in plaats van een codegenerator in te pakken die je niet zelf beheert, dus requests, validatie en dispatch zijn allemaal volwaardige methoden en events, en volledige broncode betekent dat er nergens een black box tussen zit.

Dertien Bibliotheken, Eén Gereedschapskist

sgcREST is een van de dertien eSeGeCe-componentenbibliotheken voor Delphi, C++ Builder en .NET. Ze delen dezelfde conventies, worden geleverd met volledige broncode en zijn royaltyvrij te implementeren.

sgcREST

REST-server, OpenAPI-server en OpenAPI-clientcomponenten voor Delphi en C++ Builder. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcHTTP

HTTP/2-client, gRPC-client en clients voor Google Cloud Pub/Sub, Calendar en FCM, voor Delphi en C++ Builder. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcAuth

OAuth2-client, JWT-client en WebAuthn-ondersteuning voor Delphi en C++ Builder. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, AI en 30+ API-integraties voor Delphi, C++ Builder, Lazarus en .NET. De Enterprise-editie bevat ook gRPC.

Meer informatie →

sgcMQ

MQTT, AMQP 0.9.1 en 1.0, Apache Kafka en STOMP-clientcomponenten voor Delphi en C++ Builder. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcSocial

Telegram- en WhatsApp Business-clientcomponenten voor Delphi en C++ Builder. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcHTML

Server-side HTML- en UI-componenten op Bootstrap 5 en htmx voor Delphi, C++ Builder en .NET.

Meer informatie →

sgcQUIC

Pure QUIC-transport en een HTTP/3-client en -server, met WebTransport. Een add-on voor sgcWebSockets Enterprise.

Meer informatie →

sgcAI

AI-, LLM- en MCP-componenten voor Delphi en C++ Builder. Zeven LLM-providers achter één component, plus MCP, embeddings en spraak. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcOpenAPI

OpenAPI 3.x-parser, native Pascal-SDK-generator, OpenAPI-servercomponent, en 1.195+ kant-en-klare cloud-SDK's.

Meer informatie →

sgcSign

XAdES, PAdES, CAdES en ASiC voor documenten, Authenticode, ClickOnce, NuGet en VSIX voor code.

Meer informatie →

sgcBiometrics

Windows Hello, vingerafdruksensoren en het Windows Biometric Framework voor Delphi en C++ Builder.

Meer informatie →

sgcIndy

Bijgewerkte Indy TCP/IP-componenten met moderne TLS, IPv6 en HTTP/2 voor Delphi 7 tot en met 13.

Meer informatie →

Bekijk de prijzen en licenties Download de gratis proefversie

Wat ontwikkelaars zeggen

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!

Simone Moretti Delphi-ontwikkelaar

sgcWebSockets is geweldig en jullie support is de beste!

Christian Meyer Oprichter & CTO

Heel erg bedankt voor jullie hulp en ondersteuning, ik ben dol op jullie componenten.

Mark Steinfeld CTO

Je ziet nu de weergave REST & OpenAPI van eSeGeCe.

Toon me een andere invalshoek →

REST-API's, OpenAPI-contracten, native code

Een REST-server, een OpenAPI-server en een OpenAPI-client, met de sgcWebSockets Core runtime inbegrepen en volledige broncode in de doos.