sgcREST: Delphi ve C++ Builder için REST API Sunucusu ve OpenAPI Bileşenleri
Bağımsız ürün REST Sunucusu & OpenAPI

sgcREST: Delphi ve C++ Builder için REST API Sunucusu ve OpenAPI Bileşenleri

İki iş, yedi sınıf. TsgcHTTPRESTServer, CORS işleme ve üç takılabilir yardımcıya sahip bir REST API sunucusudur: istek istatistikleri, çoklu kiracılık ve yerel bir kullanıcı deposu. Bunun yanında, bir OpenAPI motoru bir API'yi doğrudan bir spesifikasyondan sunar ya da bu spesifikasyonu öznitelikli bir Delphi sınıfından üretir; TsgcOpenAPI_Client ise OpenAPI ile tanımlanmış herhangi bir API'yi tüketir. sgcREST bağımsızdır, her sınıfın üzerine kurulduğu sgcWebSockets Core çalışma zamanını içerir.

Tam kaynak kodu
Delphi 7'den 13'e & C++ Builder
Pakete dahil çalışma zamanı sgcWebSockets Core Her bileşenin altındaki HTTP, TLS ve JSON çalışma zamanı
REST Sunucusu TsgcHTTPRESTServer
OpenAPI TsgcOpenAPI_Client
4 Palet bileşeni REST sunucusu, istatistikler, kiracılık & kullanıcılar, palette tek sayfa
7 Sınıf toplamı REST sunucu ailesi, OpenAPI sunucu motoru & OpenAPI istemcisi
4 İstemci kimlik doğrulama şeması Basic kimlik doğrulama, bearer token, genel OAuth2 ve JWT dahil
100% Kaynak kodu dahil Yedi sınıfın tümü ve pakete dahil Core çalışma zamanı
12 Ay güncelleme Lisansınız aktifken yayımlanan her sürüm

Önce Bilmeye Değer İki Şey

sgcREST'in sizden ne istediği ve ne istemediği. İki yanıt da kısa.

sgcREST kendi kendine yeter

Bağımsız olarak, sgcWebSockets Core çalışma zamanı pakete dahildir: REST sunucusunun ve her OpenAPI sınıfının üzerinde çalıştığı HTTP/TLS sunucu ve istemci yığını, ve her istek ile yanıtı serileştiren JSON katmanı. Tek SKU, tek kurulum paketi ve sgcREST, RAD Studio ile birlikte gelen standart Indy kitaplığı üzerinde çalışır.

Her lisansla birlikte tam kaynak kodu gelir, böylece REST sunucusu, yardımcıları ve OpenAPI motoru bir ikili dosyanın içinde kaybolmak yerine kendi hata ayıklayıcınızda adım adım izlenir.

Tek sürüm gereksinimi

Kod öncelikli OpenAPI, Delphi XE7+ gerektirir

Öznitelikli bir Delphi sınıfından bir OpenAPI spesifikasyonu üretmek, Delphi XE7 ile gelen RTTI'ye dayanır, bu yüzden TsgcOpenAPICodeFirstScanner ve TsgcOpenAPICodeFirstDispatcher XE7'den itibaren derlenir. REST sunucusu ve yardımcıları, ayrıca elinizde zaten bulunan bir JSON veya YAML belgesinden yönlendirme yapan spesifikasyon öncelikli OpenAPI motoru, desteklenen her derleyicide, Delphi 7'den 13'e çalışır.

Başlangıç için bir OpenAPI belgeniz mi yok? Önce Delphi sınıfını yazın ve tarayıcının bir tane üretmesine izin verin; kod öncelikli yaklaşımın XE7 ve sonrasında tam olarak amacı budur.

Dört Palet Bileşeni, Üç Kod-Yalnızca Sınıf

REST sunucusu ve üç yardımcısı, sgcHTTP_REST_Server* birimlerinde tanımlanan, SGC REST palet sayfasındaki görsel olmayan bileşenlerdir. TsgcHTTPRESTServer'ı bir forma bırakın ya da kodda oluşturun, ardından gerektiğinde ServerStats ve Tenancy'yi ekleyin. OpenAPI sunucu motoru ve OpenAPI istemci sınıfı, sgcHTTP_OpenAPI_* birimlerinde kod-yalnızca sınıflar olarak yaşar, bunlar için forma bırakılacak bir şey yoktur: birini oluşturun, yapılandırın ve metotlarını doğrudan çağırın.

REST Sunucusu4 bileşen

Bir sunucu, gerektiğinde eklediğiniz üç yardımcı

TsgcHTTPRESTServer, standart TsgcHTTPServerCORSOptions üzerinden CORS işleme ve isteğe bağlı yardımcılar için iki özellikle genişletir: ServerStats ve Tenancy. TsgcHTTPServerStats her isteği durum sınıfına göre sayar, gecikme minimum, ortalama ve maksimum değerlerini izler, Prometheus biçiminde bir /metrics uç noktası ile bir JSON /health uç noktası sunar; rota başına döküm için GetEndpointStats ile birlikte. TsgcHTTPServer_Tenancy, çağıranın kiracısını ana bilgisayar adından, bir yol segmentinden, bir istek başlığından veya bir JWT talebinden çözer; sunucunun kendi Tenant özelliği ise sunulmakta olan istek için sonucu okur. TsgcHTTPServer_Users, dördüncü ve bağımsız bir yardımcıdır: AddUser, ValidateCredentials, rol etiketleri ve tuzlanmış parola karma işlemiyle yerel bir hesap deposu; isteğe bağlı bekleme durumunda şifreleme ile birlikte, sunucuya bir özellik olarak bağlanmak yerine doğrudan bir rota işleyicisinden sorgulanır.

OpenAPI SunucusuBir API tanımlamanın 2 yolu

Elinizdeki bir spesifikasyonu sunun ya da kodunuzdan bir tane üretin

Spesifikasyon öncelikli: bir OpenAPI 3.0 veya 3.1 belgesi yükleyin, TsgcOpenAPIRouteTable rota tablosunu belgenin paths bölümünden otomatik olarak oluşturur. Eşleşen bir istek, tiplenmiş yol ve sorgu parametresi erişimi, gövde yardımcıları ve RespondJSON/RespondError ile birlikte bir TsgcOpenAPIServerContext olarak gelir; TsgcOpenAPIServerHandler her çağrıyı BeforeHandle, AfterHandle ve HandleException içine sarar; TsgcOpenAPIJSONValidator ise gövdeleri, sorgu ve yol parametrelerini spesifikasyonun bildirdiği JSON Şemalarına göre denetler. Kod öncelikli yaklaşım gerçeğin kaynağını tersine çevirir: düz bir Delphi sınıfını sgcServiceContract, sgcRoute, sgcHttpGet/sgcHttpPost ve sgcFromPath/sgcFromQuery/sgcFromBody öznitelikleriyle işaretleyin, TsgcOpenAPICodeFirstScanner.GenerateSpec ise OpenAPI belgesini doğrudan sınıfın RTTI'sinden üretir, elle YAML yazmaya gerek kalmaz. Bunu TsgcOpenAPICodeFirstDispatcher ile eşleştirin; işaretlenmiş metotlar her işlem için doğrudan çağrılır, elle bir gönderim zincirine gerek yoktur. Kod öncelikli yaklaşım Delphi XE7 veya sonrasını gerektirir.

TsgcOpenAPIServerHandler TsgcOpenAPICodeFirstScanner Kod öncelikli yaklaşım Delphi XE7+ gerektirir
OpenAPI İstemcisi1 sınıf

OpenAPI ile tanımlanmış herhangi bir API'yi tüketin

TsgcOpenAPI_Client, bir OpenAPI belgesinin tanımladığı herhangi bir uç nokta için genel amaçlı bir çalışma zamanı istemcisidir: HTTP_REQUEST çağrıyı taşır, Authentication Basic kimlik doğrulama ve bearer token'ların yanı sıra genel OAuth2 ve JWT'yi de kapsar; OnBeforeRequest, OnUpload ve OnDownload ise bunu izler.

Bir Sunucu, Birleştirilebilir Yardımcılar

Yedi sınıf, role göre net bir şekilde ayrılır. REST sunucusu HTTP trafiğini taşır, üç yardımcı bir üretim API'sinin ihtiyaç duyduklarını ekler ve OpenAPI motoru, yazılmış ya da üretilmiş bir spesifikasyonu çalışan bir rota tablosuna dönüştürür.

REST sunucusu, ekstralarla donatılmış bir TsgcHTTPServer'dır

TsgcHTTPRESTServer, her sgcWebSockets sürümüyle birlikte gelen düz HTTP sunucusunun bağlamalarını, TLS ve HTTP/2 işlemesini devralır ve üzerine CORS işleme ile iki takılabilir yardımcı ekler; böylece bir REST API'si, ayrı bir çerçeveye gerek kalmadan metrikler, sağlık kontrolleri ve çoklu kiracılık kazanır.

İstatistikler, kiracılık ve kullanıcılar yardımcıdır, gömülü özellikler değil

TsgcHTTPServerStats, TsgcHTTPServer_Tenancy ve TsgcHTTPServer_Users ayrı bileşenlerdir. Belirli bir API'nin ihtiyaç duyduklarını ekleyin, geri kalanını dışarıda bırakın; eklenmiş ama yapılandırılmamış bir yardımcının sunucuya kontrol maliyeti yoktur.

Spesifikasyon öncelikli ve kod öncelikli, aynı rota tablosunda buluşur

OpenAPI belgesi ister yüklediğiniz bir dosyadan ister öznitelikli bir sınıfı tarayan TsgcOpenAPICodeFirstScanner.GenerateSpec'ten gelsin, ikisi de JSON'dur ve aynı rota tablosu ile istek bağlamı her ikisine de hizmet verir. Yalnızca kod öncelikli tarayıcının kendisi Delphi XE7 veya sonrasını gerektirir.

Core çalışma zamanı kutudadır

Bağımsız olarak, sgcWebSockets Core çalışma zamanı pakete dahildir. REST sunucusunun ve her OpenAPI sınıfının üzerinde çalıştığı HTTP/TLS yığınını sağlar; tam kaynak kodu da her şey gibi paketin bir parçasıdır.

Bir REST Sunucusu ve Bir OpenAPI İstemcisi, Yan Yana

REST sunucusu sgcHTTP_REST_Server biriminde, OpenAPI istemcisi ise sgcHTTP_OpenAPI_Client biriminde tanımlanır. Aynı kod Delphi 7'den 13'e ve C++ Builder'da derlenir.

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);

Eklenti Yok, Her Platform

Yedi sınıfın tümü, RAD Studio ile birlikte gelen standart Indy kitaplığı üzerinde çalışır; bu yüzden sgcWebSockets'in zaten kapsadığı tüm platform aralığı, herhangi bir eklentiye gerek kalmadan kullanılabilir.

REST Sunucu ailesi TsgcHTTPRESTServer, ServerStats, Tenancy & Users
Windows Win32 Windows Win64 Linux64 macOS iOS Android
OpenAPI sunucu & istemci ailesi Spesifikasyon öncelikli, kod öncelikli ve OpenAPI istemci sınıfı
Windows Win32 Windows Win64 Linux64 macOS iOS Android
IDE desteği Tek kaynak ağacı, sürüm başına tasarım zamanı paketleri
Delphi 7'den 13'e C++ Builder
Kod öncelikli OpenAPI Delphi XE7 ile gelen RTTI'ye ihtiyaç duyar
Delphi XE7'den 13'e
Deneme kurulum paketi sgcWebSockets All-Access deneme sürümü, sgcREST bileşenlerini içerir
Tek indirme, yedi sınıfın tümü

Deneme kurulum paketini indirin →

Bağımsız Bir Paket

sgcREST kendi başına lisanslanır, tek bir geliştirici için €249 fiyatından başlar. Tüm lisanslar tam kaynak kodunu, 1 yıllık güncellemeleri ve 50% ile 70% arasında bir yenileme indirimi içerir: Tek bir paketi yenilediğinizde 50%, iki pakette 60%, üç veya daha fazla pakette 70% indirim uygulanır. sgcAI, sgcMQ, sgcSocial, sgcAuth, sgcHTTP ve sgcREST ürünlerinin her biri ayrı bir paket sayılır. sgcREST ayrıca All-Access paketine de dahildir.

sgcREST

€249

Single, Team ve Site lisansları mevcuttur.

  • CORS, istatistikler, kiracılık & kullanıcılar içeren REST sunucusu
  • Spesifikasyon öncelikli & kod öncelikli OpenAPI sunucusu
  • OpenAPI ile tanımlanmış herhangi bir API için OpenAPI istemcisi
  • sgcWebSockets Core çalışma zamanı dahil
  • Delphi 7'den 13'e & C++ Builder
  • Tam kaynak kodu
  • 1 yıl güncelleme

Ödeme sırasında eklenecek veya kaldırılacak bir eklenti yok, sgcREST RAD Studio ile birlikte gelen standart Indy kitaplığı üzerinde çalışır.

Ödeme sayfasında iki kalem listelenir: sıfır ücretlendirilen sgcWebSockets Core çalışma zamanı hakkı ve sgcREST paketinin kendisi. Tüm fiyatlandırma ayrıntıları.

3,000+Geliştirici
20+Yıl
761+Bileşen
30+API Entegrasyonu
5Platform
30 Günlük Para İade GarantisiMemnun kalmadınız mı? Satın alımdan sonraki 30 gün içinde tam para iadesi talep edin. İade politikasına bakın

REST API'leri ve OpenAPI, Doğrudan Yerel Kodun İçine

İstatistikler, çoklu kiracılık ve kullanıcılara sahip bir REST sunucusu; spesifikasyon öncelikli ya da kod öncelikli çalışan bir OpenAPI sunucusu; ve OpenAPI ile tanımlanmış herhangi bir API için bir OpenAPI istemcisi; çalışma zamanı pakete dahil ve kutuda tam kaynak kodu. All-Access deneme kurulum paketini indirin ve bugün yedi sınıfın tümünü deneyin.

eSeGeCe'nin Diğer Ürünleri

sgcREST'i diğer Delphi, C++ Builder ve .NET bileşen kitaplıklarımızla eşleştirin.

sgcWebSockets

Kitaplığın tamamı: WebSocket istemcileri ve sunucuları, HTTP/2, gRPC, IoT, P2P ve yapay zeka bileşenleri. Enterprise sürümü OpenAPI sunucusunu da içerir.

Daha fazla bilgi →

sgcHTTP

HTTP/2, gRPC ve Google Cloud Pub/Sub, Calendar ve Firebase Cloud Messaging istemci bileşenleri; Core çalışma zamanı pakete dahildir.

Daha fazla bilgi →

sgcAuth

OAuth2 ve JWT istemci bileşenleri, ayrıca WebAuthn passkey ile oturum açma; bir REST API'sinin kullanıcı deposuyla doğal bir eşleşme.

Daha fazla bilgi →

sgcAI

Yapay zeka, LLM ve MCP bileşenleri. Tek bir sohbet bileşeni OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok ve Mistral'a erişir.

Daha fazla bilgi →

sgcMQ

Yerel MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka ve STOMP istemci bileşenleri; Core çalışma zamanı pakete dahildir.

Daha fazla bilgi →

sgcOpenAPI

Ayrı, bağımsız bir ürün: bir OpenAPI 3.x ayrıştırıcısı, yerel bir Pascal SDK üreticisi ve çevrimdışı kod üretimi için (çalışma zamanı istemcisi değil) 1.195'in üzerinde önceden oluşturulmuş bulut SDK'si.

Daha fazla bilgi →