sgcREST: REST API-server & OpenAPI-componenten voor Delphi & C++ Builder
Standalone product REST Server & OpenAPI

sgcREST: REST API-server & OpenAPI-componenten voor Delphi & C++ Builder

Twee taken, zeven klassen. TsgcHTTPRESTServer is een REST API-server met CORS-afhandeling en drie koppelbare companions: requeststatistieken, multi-tenancy en een lokale gebruikersopslag. Daarnaast serveert een OpenAPI-engine een API rechtstreeks vanuit een spec, of genereert die spec vanuit een geannoteerde Delphi-klasse, en TsgcOpenAPI_Client consumeert elke OpenAPI-beschreven API. sgcREST is standalone, het levert de sgcWebSockets Core runtime mee waarop elke klasse is gebouwd.

Volledige broncode
Delphi 7 tot 13 & C++ Builder
Meegeleverde runtime sgcWebSockets Core De HTTP-, TLS- en JSON-runtime onder elke klasse
REST Server TsgcHTTPRESTServer
OpenAPI TsgcOpenAPI_Client
4 Paletcomponenten REST-server, stats, tenancy & gebruikers, één pagina op het palet
7 Klassen in totaal REST-serverfamilie, OpenAPI-serverengine & OpenAPI-client
4 Client-authenticatieschema's Basic auth, bearer token, generieke OAuth2 en JWT ingebouwd
100% Broncode inbegrepen Alle zeven klassen en de meegeleverde Core runtime
12 Maanden updates Elke release die verschijnt zolang je licentie actief is

Twee dingen die je eerst moet weten

Wat sgcREST van je nodig heeft, en wat niet. Beide antwoorden zijn kort.

sgcREST is zelfstandig

Standalone, de sgcWebSockets Core runtime is inbegrepen: de HTTP/TLS-server- en clientstack waar de REST-server en elke OpenAPI-klasse op draaien, en de JSON-laag die elk verzoek en elke response serialiseert. Eén SKU, één installer, en sgcREST draait op de standaard Indy-bibliotheek die met RAD Studio wordt meegeleverd.

Bij elke licentie krijg je de volledige broncode, zodat je door de REST-server, zijn companions en de OpenAPI-engine heen kunt stappen in je eigen debugger in plaats van ze in een binary te zien verdwijnen.

Eén versievereiste

Code-first OpenAPI heeft Delphi XE7+ nodig

Het genereren van een OpenAPI-spec vanuit een geannoteerde Delphi-klasse steunt op de RTTI die in Delphi XE7 is geïntroduceerd, dus TsgcOpenAPICodeFirstScanner en TsgcOpenAPICodeFirstDispatcher compileren vanaf XE7. De REST-server en zijn companions, en de spec-first OpenAPI-engine die routeert vanuit een JSON- of YAML-document dat je al hebt, draaien op elke ondersteunde compiler, Delphi 7 tot 13.

Nog geen OpenAPI-document om mee te beginnen? Schrijf eerst de Delphi-klasse en laat de scanner er een genereren, daar is code-first precies voor bedoeld op XE7 en later.

Vier paletcomponenten, drie code-only klassen

De REST-server en zijn drie companions zijn niet-visuele componenten op de paletpagina SGC REST, gedeclareerd in de sgcHTTP_REST_Server*-units. Zet TsgcHTTPRESTServer op een formulier of maak hem in code aan, en koppel dan ServerStats en Tenancy naar behoefte. De OpenAPI-serverengine en de OpenAPI-clientklasse staan in de sgcHTTP_OpenAPI_*-units als code-only klassen, er is niets om op een formulier te zetten: maak er een aan, stel hem in, en roep de methoden rechtstreeks aan.

REST Server4 componenten

Eén server, drie companions die je naar behoefte koppelt

TsgcHTTPRESTServer breidt de standaard TsgcHTTPServer uit met CORS-afhandeling via CORSOptions, en twee eigenschappen voor optionele companions: ServerStats en Tenancy. TsgcHTTPServerStats telt elk verzoek per statusklasse, houdt de minimale, gemiddelde en maximale latency bij, en serveert een /metrics-endpoint in Prometheus-formaat plus een JSON-/health-endpoint, met GetEndpointStats voor een uitsplitsing per route. TsgcHTTPServer_Tenancy herleidt de tenant van de aanroeper uit de hostnaam, een padsegment, een requestheader of een JWT-claim, en de Tenant-eigenschap van de server zelf leest het resultaat voor het verzoek dat wordt afgehandeld. TsgcHTTPServer_Users is een vierde, zelfstandige companion: een lokale accountopslag met AddUser, ValidateCredentials, roltags en gesalte wachtwoordhashing, met optionele versleuteling in rust, rechtstreeks bevraagd vanuit een routehandler in plaats van als eigenschap aan de server gekoppeld.

OpenAPI Server2 manieren om een API te definiëren

Serveer een spec die je al hebt, of genereer er een vanuit je code

Spec-first: laad een OpenAPI 3.0- of 3.1-document en TsgcOpenAPIRouteTable bouwt de routetabel automatisch op vanuit de paths-sectie. Een gematcht verzoek komt binnen als een TsgcOpenAPIServerContext, met getypeerde toegang tot pad- en queryparameters, body-helpers en RespondJSON/RespondError, TsgcOpenAPIServerHandler omhult elke aanroep met BeforeHandle, AfterHandle en HandleException, en TsgcOpenAPIJSONValidator toetst bodies, query- en padparameters aan de JSON Schemas die de spec declareert. Code-first draait de bron van waarheid om: annoteer een gewone Delphi-klasse met sgcServiceContract-, sgcRoute-, sgcHttpGet/sgcHttpPost- en sgcFromPath/sgcFromQuery/sgcFromBody-attributen, en TsgcOpenAPICodeFirstScanner.GenerateSpec produceert het OpenAPI-document rechtstreeks vanuit de RTTI, geen YAML om met de hand te schrijven. Combineer het met TsgcOpenAPICodeFirstDispatcher en de geannoteerde methoden worden voor elke operatie rechtstreeks aangeroepen, geen handmatige dispatch-keten nodig. Code-first vereist Delphi XE7 of hoger.

TsgcOpenAPIServerHandler TsgcOpenAPICodeFirstScanner Code-first heeft Delphi XE7+ nodig
OpenAPI Client1 klasse

Consumeer elke OpenAPI-beschreven API

TsgcOpenAPI_Client is een generieke runtimeclient voor elk endpoint dat een OpenAPI-document beschrijft: HTTP_REQUEST draagt de aanroep, Authentication dekt Basic auth en bearer tokens plus generieke OAuth2 en JWT, en OnBeforeRequest, OnUpload en OnDownload volgen hem.

Eén server, samenstelbare companions

De zeven klassen splitsen zich netjes op basis van hun rol. De REST-server draagt het HTTP-verkeer, drie companions voegen toe wat een productie-API nodig heeft, en de OpenAPI-engine zet een spec, geschreven of gegenereerd, om in een werkende routetabel.

De REST-server is een TsgcHTTPServer met extra's

TsgcHTTPRESTServer erft de bindings, TLS- en HTTP/2-afhandeling van de gewone HTTP-server die in elke sgcWebSockets-editie zit, en voegt daar CORS-afhandeling plus twee koppelbare companions aan toe, zodat een REST API metrics, health checks en multi-tenancy krijgt zonder apart framework.

Stats, tenancy en gebruikers zijn companions, geen ingebakken functies

TsgcHTTPServerStats, TsgcHTTPServer_Tenancy en TsgcHTTPServer_Users zijn afzonderlijke componenten. Koppel de componenten die een gegeven API nodig heeft en laat de rest weg, een gekoppelde maar niet-geconfigureerde companion kost de server niets om te controleren.

Spec-first en code-first komen uit bij dezelfde routetabel

Of het OpenAPI-document nu uit een bestand komt dat je hebt geladen of uit TsgcOpenAPICodeFirstScanner.GenerateSpec die een geannoteerde klasse scant, beide zijn JSON, en dezelfde routetabel en request context bedienen ze allebei. Alleen de code-first scanner zelf heeft Delphi XE7 of hoger nodig.

De Core runtime zit in de doos

Standalone, de sgcWebSockets Core runtime is inbegrepen. Ze levert de HTTP/TLS-stack waar de REST-server en elke OpenAPI-klasse op draaien, en de volledige broncode ervan maakt net als al het andere deel uit van het pakket.

Een REST-server en een OpenAPI-client, naast elkaar

De REST-server is gedeclareerd in sgcHTTP_REST_Server, de OpenAPI-client in sgcHTTP_OpenAPI_Client. Dezelfde code compileert in Delphi 7 tot 13 en C++ Builder.

uses
  sgcHTTP_REST_Server, sgcHTTP_OpenAPI_Client;

var
  RESTServer: TsgcHTTPRESTServer;
  APIClient: TsgcOpenAPI_Client;
  Request: TsgcOpenAPIRequest;
  Response: TsgcOpenAPIResponse;
begin
  // REST server: CORS on, stats and health/metrics wired in
  RESTServer := TsgcHTTPRESTServer.Create(nil);
  RESTServer.Bindings.Add.Port := 8080;
  RESTServer.CORSOptions.Enabled := True;
  RESTServer.ServerStats := HTTPServerStats1;
  RESTServer.Active := True;

  // OpenAPI client: call any OpenAPI-described API with basic auth
  APIClient := TsgcOpenAPI_Client.Create(nil);
  APIClient.SetBaseURL('https://api.example.com');
  APIClient.Authentication.Basic.Enabled := True;
  APIClient.Authentication.Basic.Username := 'apiuser';
  APIClient.Authentication.Basic.Password := '...';

  Request := TsgcOpenAPIRequest.Create;
  Response := TsgcOpenAPIResponse.Create;
  APIClient.HTTP_REQUEST(Request, Response);
end;
// include: sgcHTTP_REST_Server.hpp, sgcHTTP_OpenAPI_Client.hpp

// REST server: CORS on, stats and health/metrics wired in
TsgcHTTPRESTServer *RESTServer = new TsgcHTTPRESTServer(this);
RESTServer->Bindings->Add()->Port = 8080;
RESTServer->CORSOptions->Enabled = true;
RESTServer->ServerStats = HTTPServerStats1;
RESTServer->Active = true;

// OpenAPI client: call any OpenAPI-described API with basic auth
TsgcOpenAPI_Client *APIClient = new TsgcOpenAPI_Client(this);
APIClient->SetBaseURL("https://api.example.com");
APIClient->Authentication->Basic->Enabled = true;
APIClient->Authentication->Basic->Username = "apiuser";
APIClient->Authentication->Basic->Password = "...";

TsgcOpenAPIRequest *Request = new TsgcOpenAPIRequest();
TsgcOpenAPIResponse *Response = new TsgcOpenAPIResponse();
APIClient->HTTP_REQUEST(Request, Response);

Geen add-on, elk platform

Alle zeven klassen draaien op de standaard Indy-bibliotheek die met RAD Studio wordt meegeleverd, dus het volledige platformbereik dat sgcWebSockets al dekt is beschikbaar zonder dat er een add-on nodig is.

REST-serverfamilie TsgcHTTPRESTServer, ServerStats, Tenancy & Users
Windows Win32 Windows Win64 Linux64 macOS iOS Android
OpenAPI-server- & clientfamilie Spec-first, code-first en de OpenAPI-clientklasse
Windows Win32 Windows Win64 Linux64 macOS iOS Android
IDE-ondersteuning Eén broncodeboom, design-time packages per versie
Delphi 7 tot 13 C++ Builder
Code-first OpenAPI Heeft de RTTI nodig die in Delphi XE7 is geïntroduceerd
Delphi XE7 tot 13
Proefinstaller De sgcWebSockets All-Access-proefversie bevat de sgcREST-componenten
Eén download, alle zeven klassen

Download de proefinstaller →

Een standalone package

sgcREST wordt zelfstandig gelicentieerd, vanaf €249 voor één ontwikkelaar. Alle licenties bevatten volledige broncode, 1 jaar updates en 50% tot 70% verlengingskorting: 50% als je één pakket verlengt, 60% bij twee, 70% bij drie of meer. sgcAI, sgcMQ, sgcSocial, sgcAuth, sgcHTTP en sgcREST tellen elk als een pakket. sgcREST zit ook in het All-Access-pakket.

sgcREST

€249

Single-, Team- en Site-licenties beschikbaar.

  • REST-server met CORS, stats, tenancy & gebruikers
  • OpenAPI-server, spec-first & code-first
  • OpenAPI-client voor elke OpenAPI-beschreven API
  • sgcWebSockets Core runtime inbegrepen
  • Delphi 7 tot 13 & C++ Builder
  • Volledige broncode
  • 1 jaar updates

Geen add-on om toe te voegen of te verwijderen bij het afrekenen, sgcREST draait op de standaard Indy-bibliotheek die met RAD Studio wordt meegeleverd.

Bij het afrekenen staan twee regels: het recht op de sgcWebSockets Core runtime, dat op nul wordt gefactureerd, en het sgcREST-pakket zelf. Volledige prijsinformatie.

3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
Niet-goed-geld-terug-garantie van 30 dagenNiet tevreden? Vraag binnen 30 dagen na aankoop een volledige terugbetaling aan. Bekijk het terugbetalingsbeleid

REST-API's en OpenAPI, rechtstreeks ingebouwd in native code

Een REST-server met stats, multi-tenancy en gebruikers, een OpenAPI-server die spec-first of code-first werkt, en een OpenAPI-client voor elke OpenAPI-beschreven API, met de runtime meegeleverd en volledige broncode in de doos. Download de All-Access-proefinstaller en probeer vandaag nog alle zeven klassen.

Andere producten van eSeGeCe

Combineer sgcREST met onze andere componentbibliotheken voor Delphi, C++ Builder en .NET.

sgcWebSockets

De volledige bibliotheek: WebSocket-clients en -servers, HTTP/2, gRPC, IoT-, P2P- en AI-componenten. De Enterprise-editie bevat ook de OpenAPI-server.

Meer informatie →

sgcHTTP

HTTP/2-, gRPC- en clientcomponenten voor Google Cloud Pub/Sub, Calendar en Firebase Cloud Messaging, met de Core runtime inbegrepen.

Meer informatie →

sgcAuth

OAuth2- en JWT-clientcomponenten plus WebAuthn-passkey-aanmelding, een natuurlijke aanvulling op de gebruikersopslag van een REST API.

Meer informatie →

sgcAI

AI-, LLM- en MCP-componenten. Eén chatcomponent bereikt OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok en Mistral.

Meer informatie →

sgcMQ

Native MQTT 3.1.1/5.0-, AMQP 0.9.1-, AMQP 1.0-, Apache Kafka- en STOMP-clientcomponenten, met de Core runtime inbegrepen.

Meer informatie →

sgcOpenAPI

Een apart pakket: een OpenAPI 3.x-parser, een native Pascal-SDK-generator en meer dan 1.195 kant-en-klare cloud-SDK's, voor offline codegeneratie in plaats van een runtimeclient.

Meer informatie →