sgcREST: REST-API-Server & OpenAPI-Komponenten für Delphi & C++ Builder
Eigenständiges Produkt REST Server & OpenAPI

sgcREST: REST-API-Server & OpenAPI-Komponenten für Delphi & C++ Builder

Zwei Aufgaben, sieben Klassen. TsgcHTTPRESTServer ist ein REST-API-Server mit CORS-Handling und drei anschließbaren Begleitern: Anfragestatistiken, Mandantenfähigkeit und ein lokaler Benutzerspeicher. Daneben bedient eine OpenAPI-Engine eine API direkt aus einer Spezifikation, oder erzeugt diese Spezifikation aus einer attributierten Delphi-Klasse, und TsgcOpenAPI_Client konsumiert jede über OpenAPI beschriebene API. sgcREST ist eigenständig, es bringt die sgcWebSockets Core Runtime mit, auf der jede Klasse aufbaut.

Voller Quellcode
Delphi 7 bis 13 & C++ Builder
Mitgelieferte Runtime sgcWebSockets Core Die HTTP-, TLS- und JSON-Runtime unter jeder Klasse
REST Server TsgcHTTPRESTServer
OpenAPI TsgcOpenAPI_Client
4 Paletten-Komponenten REST-Server, Stats, Tenancy & Users, eine Seite auf der Palette
7 Klassen insgesamt REST-Server-Familie, OpenAPI-Server-Engine & OpenAPI-Client
4 Client-Authentifizierungsschemata Basic-Auth, Bearer-Token, generisches OAuth2 und JWT eingebaut
100% Quellcode enthalten Alle sieben Klassen und die mitgelieferte Core Runtime
12 Monate Updates Jede Version, die veröffentlicht wird, während deine Lizenz aktiv ist

Zwei Dinge, die du vorher wissen solltest

Was sgcREST von dir braucht, und was nicht. Beide Antworten sind kurz.

sgcREST ist in sich geschlossen

Eigenständig ist die sgcWebSockets Core Runtime enthalten: der HTTP-/TLS-Server- und -Client-Stack, auf dem der REST-Server und jede OpenAPI-Klasse laufen, und die JSON-Schicht, die jede Anfrage und Antwort serialisiert. Eine SKU, ein Installer, und sgcREST läuft auf der Standard-Indy-Bibliothek, die mit RAD Studio ausgeliefert wird.

Jeder Lizenz liegt der volle Quellcode bei, der REST-Server, seine Begleiter und die OpenAPI-Engine lassen sich also in deinem eigenen Debugger durchsteppen, statt in einer Binärdatei zu verschwinden.

Eine Versionsanforderung

Code-first OpenAPI braucht Delphi XE7+

Das Erzeugen einer OpenAPI-Spezifikation aus einer attributierten Delphi-Klasse stützt sich auf die RTTI, die mit Delphi XE7 kam, TsgcOpenAPICodeFirstScanner und TsgcOpenAPICodeFirstDispatcher kompilieren also ab XE7 aufwärts. Der REST-Server und seine Begleiter sowie die spec-first-OpenAPI-Engine, die von einem JSON- oder YAML-Dokument routet, das du bereits hast, laufen auf jedem unterstützten Compiler, Delphi 7 bis 13.

Kein OpenAPI-Dokument, von dem du ausgehen kannst? Schreibe zuerst die Delphi-Klasse und lass den Scanner eines erzeugen, genau dafür ist code-first ab XE7 gedacht.

Vier Paletten-Komponenten, drei reine Code-Klassen

Der REST-Server und seine drei Begleiter sind nicht-visuelle Komponenten auf der Palettenseite SGC REST, deklariert in den Units sgcHTTP_REST_Server*. Ziehe TsgcHTTPRESTServer auf ein Formular oder erzeuge ihn im Code, hänge dann ServerStats und Tenancy nach Bedarf an. Die OpenAPI-Server-Engine und die OpenAPI-Client-Klasse leben in den Units sgcHTTP_OpenAPI_* als reine Code-Klassen, es gibt dafür nichts auf ein Formular zu ziehen: erzeuge eine, konfiguriere sie, und rufe ihre Methoden direkt auf.

REST Server4 Komponenten

Ein Server, drei Begleiter, die du nach Bedarf anhängst

TsgcHTTPRESTServer erweitert den Standard-TsgcHTTPServer um CORS-Handling über CORSOptions, und zwei Eigenschaften für optionale Begleiter: ServerStats und Tenancy. TsgcHTTPServerStats zählt jede Anfrage nach Statusklasse, verfolgt Latenz-Minimum, -Durchschnitt und -Maximum, und bedient einen /metrics-Endpunkt im Prometheus-Format sowie einen JSON-/health-Endpunkt, mit GetEndpointStats für eine Aufschlüsselung pro Route. TsgcHTTPServer_Tenancy löst den Mandanten des Aufrufers aus dem Hostnamen, einem Pfadsegment, einem Anfrage-Header oder einem JWT-Claim auf, und die Tenant-Eigenschaft des Servers selbst liest das Ergebnis für die aktuell bediente Anfrage. TsgcHTTPServer_Users ist ein vierter, eigenständiger Begleiter: ein lokaler Kontospeicher mit AddUser, ValidateCredentials, Rollen-Tags und gesalzenem Passwort-Hashing, mit optionaler Verschlüsselung im Ruhezustand, direkt aus einem Route-Handler abgefragt statt als Eigenschaft mit dem Server verdrahtet.

OpenAPI Server2 Wege, eine API zu definieren

Bediene eine Spezifikation, die du bereits hast, oder erzeuge eine aus deinem Code

Spec-first: Lade ein OpenAPI-3.0- oder -3.1-Dokument, und TsgcOpenAPIRouteTable baut die Routentabelle automatisch aus dessen paths-Abschnitt. Eine passende Anfrage kommt als TsgcOpenAPIServerContext an, mit typisiertem Zugriff auf Pfad- und Query-Parameter, Body-Hilfsmethoden und RespondJSON/RespondError, TsgcOpenAPIServerHandler umschließt jeden Aufruf mit BeforeHandle, AfterHandle und HandleException, und TsgcOpenAPIJSONValidator prüft Bodies, Query- und Pfad-Parameter gegen die JSON-Schemas, die die Spezifikation deklariert. Code-first dreht die Quelle der Wahrheit um: Versehe eine einfache Delphi-Klasse mit den Attributen sgcServiceContract, sgcRoute, sgcHttpGet/sgcHttpPost und sgcFromPath/sgcFromQuery/sgcFromBody, und TsgcOpenAPICodeFirstScanner.GenerateSpec erzeugt das OpenAPI-Dokument direkt aus ihrer RTTI, kein YAML von Hand nötig. Kombiniere es mit TsgcOpenAPICodeFirstDispatcher, und die attributierten Methoden werden für jede Operation direkt aufgerufen, keine manuelle Dispatch-Kette nötig. Code-first braucht Delphi XE7 oder neuer.

TsgcOpenAPIServerHandler TsgcOpenAPICodeFirstScanner Code-first braucht Delphi XE7+
OpenAPI Client1 Klasse

Konsumiere jede über OpenAPI beschriebene API

TsgcOpenAPI_Client ist ein generischer Laufzeit-Client für jeden Endpunkt, den ein OpenAPI-Dokument beschreibt: HTTP_REQUEST trägt den Aufruf, Authentication deckt Basic-Auth und Bearer-Tokens sowie generisches OAuth2 und JWT ab, und OnBeforeRequest, OnUpload und OnDownload verfolgen ihn.

Ein Server, zusammensetzbare Begleiter

Die sieben Klassen teilen sich sauber nach Rolle auf. Der REST-Server trägt den HTTP-Verkehr, drei Begleiter ergänzen, was eine Produktions-API braucht, und die OpenAPI-Engine verwandelt eine Spezifikation, geschrieben oder erzeugt, in eine funktionierende Routentabelle.

Der REST-Server ist ein TsgcHTTPServer mit Extras

TsgcHTTPRESTServer erbt die Bindungen, TLS- und HTTP/2-Handhabung des einfachen HTTP-Servers, der in jeder sgcWebSockets-Edition mitgeliefert wird, und ergänzt CORS-Handling plus zwei anschließbare Begleiter obendrauf, sodass eine REST-API Metriken, Health-Checks und Mandantenfähigkeit ohne separates Framework bekommt.

Stats, Tenancy und Users sind Begleiter, keine eingebauten Funktionen

TsgcHTTPServerStats, TsgcHTTPServer_Tenancy und TsgcHTTPServer_Users sind eigenständige Komponenten. Hänge die an, die eine gegebene API braucht, und lass den Rest weg, ein angehängter, aber unkonfigurierter Begleiter kostet den Server nichts zu prüfen.

Spec-first und code-first landen in derselben Routentabelle

Ob das OpenAPI-Dokument aus einer geladenen Datei stammt oder aus TsgcOpenAPICodeFirstScanner.GenerateSpec, das eine attributierte Klasse scannt, beides ist JSON, und dieselbe Routentabelle und derselbe Request-Kontext bedienen beides. Nur der code-first-Scanner selbst braucht Delphi XE7 oder neuer.

Die Core Runtime ist im Lieferumfang

Eigenständig ist die sgcWebSockets Core Runtime enthalten. Sie steuert den HTTP-/TLS-Stack bei, auf dem der REST-Server und jede OpenAPI-Klasse laufen, und ihr voller Quellcode ist Teil des Pakets wie alles andere.

Ein REST-Server und ein OpenAPI-Client, Seite an Seite

Der REST-Server ist in sgcHTTP_REST_Server deklariert, der OpenAPI-Client in sgcHTTP_OpenAPI_Client. Derselbe Code kompiliert in Delphi 7 bis 13 und 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);

Kein Add-on, jede Plattform

Alle sieben Klassen laufen auf der Standard-Indy-Bibliothek, die mit RAD Studio ausgeliefert wird, der gesamte Plattformumfang, den sgcWebSockets bereits abdeckt, steht also ohne zusätzliches Add-on zur Verfügung.

REST-Server-Familie TsgcHTTPRESTServer, ServerStats, Tenancy & Users
Windows Win32 Windows Win64 Linux64 macOS iOS Android
OpenAPI-Server- & -Client-Familie Spec-first, code-first und die OpenAPI-Client-Klasse
Windows Win32 Windows Win64 Linux64 macOS iOS Android
IDE-Unterstützung Ein Quellbaum, Designtime-Pakete je Version
Delphi 7 bis 13 C++ Builder
Code-first OpenAPI Braucht die RTTI, die mit Delphi XE7 kam
Delphi XE7 bis 13
Trial-Installer Der sgcWebSockets-All-Access-Trial enthält die sgcREST-Komponenten
Ein Download, alle sieben Klassen

Lade den Trial-Installer herunter →

Ein eigenständiges Paket

sgcREST wird eigenständig lizenziert, ab €249 für einen einzelnen Entwickler. Alle Lizenzen enthalten den vollen Quellcode, 1 Jahr Updates und 50% bis 70% Verlängerungsrabatt: 50%, wenn du ein Paket verlängerst, 60% bei zwei, 70% bei drei oder mehr. sgcAI, sgcMQ, sgcSocial, sgcAuth, sgcHTTP und sgcREST zählen jeweils als ein Paket. sgcREST ist auch im All-Access-Bundle enthalten.

sgcREST

€249

Single-, Team- und Site-Lizenzen verfügbar.

  • REST-Server mit CORS, Stats, Tenancy & Users
  • OpenAPI-Server, spec-first & code-first
  • OpenAPI-Client für jede über OpenAPI beschriebene API
  • sgcWebSockets Core Runtime enthalten
  • Delphi 7 bis 13 & C++ Builder
  • Vollständiger Quellcode
  • 1 Jahr Updates

Kein Add-on beim Checkout hinzuzufügen oder zu entfernen, sgcREST läuft auf der Standard-Indy-Bibliothek, die mit RAD Studio ausgeliefert wird.

Der Checkout listet zwei Positionen: die Berechtigung für die sgcWebSockets Core Runtime, mit null berechnet, und das sgcREST-Paket selbst. Alle Preisdetails.

3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
30 Tage Geld-zurück-GarantieNicht zufrieden? Fordern Sie innerhalb von 30 Tagen nach dem Kauf eine vollständige Rückerstattung an. Rückerstattungsrichtlinie ansehen

REST-APIs und OpenAPI, direkt in nativen Code gebaut

Ein REST-Server mit Stats, Mandantenfähigkeit und Benutzern, ein OpenAPI-Server, der spec-first oder code-first funktioniert, und ein OpenAPI-Client für jede über OpenAPI beschriebene API, mit mitgelieferter Runtime und vollständigem Quellcode im Paket. Lade den All-Access-Trial-Installer herunter und probiere noch heute alle sieben Klassen aus.

Weitere Produkte von eSeGeCe

Kombiniere sgcREST mit unseren anderen Komponentenbibliotheken für Delphi, C++ Builder und .NET.

sgcWebSockets

Die vollständige Bibliothek: WebSocket-Clients und -Server, HTTP/2, gRPC, IoT, P2P und KI-Komponenten. Ihre Enterprise-Edition enthält auch den OpenAPI-Server.

Mehr erfahren →

sgcHTTP

HTTP/2, gRPC und Google Cloud Pub/Sub-, Calendar- und Firebase-Cloud-Messaging-Client-Komponenten, mit enthaltener Core Runtime.

Mehr erfahren →

sgcAuth

OAuth2- und JWT-Client-Komponenten sowie WebAuthn-Passkey-Anmeldung, eine natürliche Ergänzung zum Benutzerspeicher einer REST-API.

Mehr erfahren →

sgcAI

Komponenten für KI, LLM und MCP. Eine Chat-Komponente erreicht OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok und Mistral.

Mehr erfahren →

sgcMQ

Natives MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka und STOMP Client-Komponenten, mit enthaltener Core Runtime.

Mehr erfahren →

sgcOpenAPI

Ein separates, gebündeltes Produkt: ein OpenAPI-3.x-Parser, ein nativer Pascal-SDK-Generator und über 1.195 vorgefertigte Cloud-SDKs, für Offline-Codegenerierung statt eines Laufzeit-Clients.

Mehr erfahren →