eSeGeCe — Delphi ve .NET için Kurumsal İletişim Bileşenleri
ÖNE ÇIKAN · sgcREST

Bir OpenAPI sözleşmesinden REST API'ler, Delphi'de yerel

Üç bileşen iki işi kapsar. TsgcHTTPRESTServer, CORS, isteğe bağlı /metrics ve /health uç noktaları ve yerleşik çok kiracılı istek çözümlemesiyle bir REST sunucusudur. TsgcWSAPIServer_OpenAPI, LoadFromFile ile bir OpenAPI 3.x sözleşmesi yükler ve her isteği bu sözleşmeye göre gönderir, doğrular ve kimlik doğrulamasından geçirir. TsgcOpenAPI_Client, OpenAPI ile tanımlanmış herhangi bir API için tiplenmiş istemcilerin arkasındaki temel sınıftır. Bağımsız olarak, sgcWebSockets Core çalışma zamanı dahildir.

  • 3 bileşen sınıfı
  • REST Server · OpenAPI Server · OpenAPI Client
  • CORS, /metrics, /health, çok kiracılılık
  • Delphi 7'den 13'e · C++ Builder

İki Palet Bileşeni, Bir İstemci Temel Sınıfı

sgcREST bağımsız bir pakettir. Üzerine kurulduğu sgcWebSockets Core çalışma zamanını pakete dahil eder ve her lisans tam kaynak koduyla gelir; böylece REST gönderimi ve OpenAPI doğrulaması kendi hata ayıklayıcınızda adım adım ilerleyebilir.

2 Palet bileşeni TsgcHTTPRESTServer, SGC REST sayfasında; TsgcWSAPIServer_OpenAPI, SGC OpenAPI sayfasında.
3 Bileşen sınıfı toplamı REST sunucusu, OpenAPI sunucusu ve OpenAPI istemci temel sınıfı.
2 Yerleşik uç nokta /metrics ve /health, isteğe bağlı ve sunucunun zaten uyguladığı Authentication'ın arkasında sunulur.
1 Bağımsız kurulum paketi sgcWebSockets Core çalışma zamanı ve HTTP/TLS katmanı, ikisi de pakete dahildir.
100% Kaynak kodu dahil Her lisans, üç bileşenin ve pakete dahil çalışma zamanının tam kaynağını içerir.
sgcREST

Delphi ve C++ Builder için REST sunucusu ve OpenAPI sunucu/istemci bileşenleri. sgcWebSockets Core çalışma zamanının pakete dahil olduğu bağımsız bir paket, tam kaynak kodu ve telifsiz dağıtım.

Bir API Yayımlayın veya Birini Kullanın

Üç sınıf, yöne göre net bir şekilde ayrılır. REST sunucusu ve OpenAPI sunucusu, çağıranlarınızın eriştiği uç noktaları yayımlar. OpenAPI istemci temel sınıfı ise üretilen SDK'ların başkasının uç noktalarını çağırmak için kullandığı sınıftır.

REST Server

CORS, Metrikler, Sağlık ve Kiracılık, Yerleşik

TsgcHTTPRESTServer, sgcWebSockets HTTP sunucusunu bir REST API'nin günlük olarak ihtiyaç duyduğu altyapıyla genişletir: çapraz kaynak istekleri için CORSOptions, ServerStats üzerinden isteğe bağlı /metrics ve /health uç noktaları, ve host, path, header veya JWT claim'e göre Tenancy üzerinden çok kiracılı istek çözümlemesi. Tenant, çözümlenen değeri kendi istek işleyicilerinize sunar.

REST sunucusunu görüntüleyin →
OpenAPI Server

Bir Sözleşme Yükleyin, Her İsteği Gönderin ve Doğrulayın

TsgcWSAPIServer_OpenAPI, LoadFromFile veya LoadFromString ile bir OpenAPI 3.x belgesi okur ve bunu canlı bir gönderim mekanizmasına dönüştürür: gelen her istek sözleşmeyle eşleştirilir ve operation id'ye göre OnRequest işleyicinize yönlendirilir. OnValidationError, OnAuthenticate, OnValidateAPIKey, OnValidateBasic ve OnValidateBearer, spesifikasyonun bildirdiği güvenlik şemalarını kapsar; OnBeforeRequest/OnAfterRequest ise çağrıyı sarmalar.

OpenAPI sunucusunu görüntüleyin →
OpenAPI Client

Her Üretilen SDK'nın Arkasındaki Tek Temel Sınıf

TsgcOpenAPI_Client, OpenAPI ile tanımlanmış herhangi bir API için genel amaçlı çalışma zamanı istemcisidir: Authentication, Basic kimlik doğrulama, bearer token, genel OAuth2 ve JWT'yi kapsar; bir çağrıyı yürütmek için HTTP_REQUEST ve HTTP_REQUEST_Async kullanılır. SetBaseURL'i yüklediğiniz ya da kendiniz ürettiğiniz bir sözleşmeye yönlendirin, çağrıya hazır olsun.

Neler yapabildiğini görün →
Çıkış kapısı

Spesifikasyonun İhtiyaç Duyduğu Her Geri Çağırma

OnException, işleyici hatalarını hatlara ulaşmadan önce yakalar; doğrulama ve kimlik doğrulama olaylarının tümü, PathParams, QueryParams ve RespondJSON ile birlikte ayrıştırılmış TsgcOpenAPIServerContext'i alır, böylece bir çağrının neden kabul edildiği veya reddedildiği hakkında hiçbir şey sizden gizlenmez.

Doğrulama yüzeyi →
Çok platformlu

Beş Platform, Tek Çalışma Zamanı

REST sunucusu ve OpenAPI sunucusu, TsgcHTTPServer'ın altsınıflarıdır; OpenAPI istemcisi ise Core çalışma zamanının geri kalanıyla aynı HTTPS yığını üzerinde çalışır. Delphi 7'den RAD Studio 13'e ve C++ Builder'da.

Özellik matrisi →

Her bileşen için referans sayfaları:

Bir Uç Nokta Yayımlayın veya Bir Sözleşme Yayımlayın

REST sunucusu isteği doğrudan size verir. OpenAPI sunucusu ise doğrulanmış, zaten eşleştirilmiş bir operasyonu size verir. İkisi de Delphi 7'den 13'e ve C++ Builder'da aynı şekilde derlenir.

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;

Object Pascal'da ve C++ Builder'da aynı şekil. Tam özellik matrisi →

Önce Bilmeye Değer İki Şey

sgcREST'in sizden ne istediği ve ne istemediği. İki yanıt da kısa ve ikisi de küçük yazılarda değil, bu sayfadadır.

Üç bileşen, iki iş
bileşen                             rol
TsgcHTTPRESTServer                  bir REST API yayımlar: CORS,
                                       /metrics, /health, kiracılık
TsgcWSAPIServer_OpenAPI             bir OpenAPI 3.x sözleşmesinden
                                       REST API yayımlar
TsgcOpenAPI_Client                  OpenAPI ile tanımlanmış herhangi
                                       bir API'yi kullanır

Her iki sunucu bileşeni de TsgcHTTPServer'ın
  altsınıflarıdır, bu yüzden diğer sgcWebSockets
  sunucularınızın zaten kullandığı aynı Port,
  TLSOptions ve Authentication'a bağlanırlar.

sgcREST bağımsızdır

Bağımsız olarak, sgcWebSockets Core çalışma zamanı pakete dahildir: REST sunucusunun ve OpenAPI sunucusunun üzerinde çalıştığı HTTP/TLS sunucu yığını ve OpenAPI istemcisinin yanıtları çözdüğü JSON katmanı. Tek kurulum paketi, kutuda tam kaynak kodu.

REST sunucusu ve OpenAPI sunucusu tek bir temeli paylaşır

TsgcHTTPRESTServer ve bir OpenAPI sunucusunun bağlandığı HTTP sunucusu, ikisi de TsgcHTTPServer'ın altsınıflarıdır; bu yüzden CORS, TLS, Authentication ve istek hattı, API'nizi hangisi yayımlıyorsa yayımlasın aynı şekilde davranır.

OpenAPI istemcisinin ihtiyacı olan tek şey sözleşmedir

TsgcOpenAPI_Client, path'leri, header'ları ve kimlik doğrulamayı doğrudan OpenAPI belgesinden, Core çalışma zamanının düz HTTPS yığını üzerinden çözer.

Delphi ve C++ Builder

sgcREST, Delphi 7'den RAD Studio 13'e ve C++ Builder'ı hedefler. REST sunucusu ayrıca sgcWebSockets Professional ve üzerinde de yer alır; OpenAPI sunucusu ve istemcisi de mevcut sgcOpenAPI paketiyle birlikte gelir, bu yüzden mevcut bir lisans sizi zaten kapsıyor olabilir. Ücretsiz deneme kurulum paketi, sgcWebSockets All-Access deneme sürümüdür; böylece üç sınıfın tamamı bugün değerlendirilebilir.

OpenAPI 3.x CORS Çok kiracılılık /metrics & /health Tam kaynak

Her bileşen ve özellik →

sgcREST, kontrolünüzde olmayan bir kod üreticisini sarmalamak yerine sözleşmenizin tanımladığı REST ve OpenAPI yüzeylerini uygular; bu yüzden istekler, doğrulama ve gönderim, hepsi birinci sınıf metotlar ve olaylardır; tam kaynak kodu ise aradaki hiçbir şeyin kara kutu olmadığı anlamına gelir.

On Üç Kütüphane, Tek Araç Kutusu

sgcREST, Delphi, C++ Builder ve .NET için on üç eSeGeCe bileşen kitaplığından biridir. Aynı kuralları paylaşırlar, tam kaynak koduyla gelirler ve telifsiz dağıtılırlar.

sgcREST

Delphi ve C++ Builder için REST sunucusu, OpenAPI sunucusu ve OpenAPI istemci bileşenleri. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.

Daha fazla bilgi →

sgcHTTP

Delphi ve C++ Builder için HTTP/2 istemcisi, gRPC istemcisi ve Google Cloud Pub/Sub, Calendar ve FCM istemcileri. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.

Daha fazla bilgi →

sgcAuth

Delphi ve C++ Builder için OAuth2 istemcisi, JWT istemcisi ve WebAuthn desteği. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.

Daha fazla bilgi →

sgcWebSockets

Delphi, C++ Builder, Lazarus ve .NET için WebSocket, HTTP/2, MQTT, AMQP, WebRTC, yapay zeka ve 30+ API entegrasyonu. Enterprise sürümü gRPC'yi de içerir.

Daha fazla bilgi →

sgcMQ

Delphi ve C++ Builder için MQTT, AMQP 0.9.1 ve 1.0, Apache Kafka ve STOMP istemci bileşenleri. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.

Daha fazla bilgi →

sgcSocial

Delphi ve C++ Builder için Telegram ve WhatsApp Business istemci bileşenleri. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.

Daha fazla bilgi →

sgcHTML

Delphi, C++ Builder ve .NET için Bootstrap 5 ve htmx üzerinde sunucu tarafı HTML ve arayüz bileşenleri.

Daha fazla bilgi →

sgcQUIC

WebTransport dahil, ham QUIC taşıması ve bir HTTP/3 istemcisi ve sunucusu. sgcWebSockets Enterprise'a bir eklenti.

Daha fazla bilgi →

sgcAI

Delphi ve C++ Builder için yapay zeka, LLM ve MCP bileşenleri. Tek bir bileşenin arkasında yedi LLM sağlayıcısı, ayrıca MCP, embeddings ve konuşma. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.

Daha fazla bilgi →

sgcOpenAPI

OpenAPI 3.x ayrıştırıcısı, yerel Pascal SDK üreticisi, OpenAPI sunucu bileşeni ve 1.195+ önceden oluşturulmuş bulut SDK'si.

Daha fazla bilgi →

sgcSign

Belgeler için XAdES, PAdES, CAdES ve ASiC; kod için Authenticode, ClickOnce, NuGet ve VSIX.

Daha fazla bilgi →

sgcBiometrics

Delphi ve C++ Builder için Windows Hello, parmak izi sensörleri ve Windows Biometric Framework.

Daha fazla bilgi →

sgcIndy

Delphi 7'den 13'e modern TLS, IPv6 ve HTTP/2 ile güncellenmiş Indy TCP/IP bileşenleri.

Daha fazla bilgi →

Fiyatlandırmayı ve lisansları görüntüleyin Ücretsiz denemeyi indirin

Geliştiriciler Ne Diyor

Dünya çapında Delphi, C++ Builder, Lazarus ve .NET geliştiricilerinin güvendiği.

sgcWebSockets kütüphaneniz çok kullanışlı ve kurulumu kolay. İyi çalışmalarınızı sürdürün!

Simone Moretti Delphi Geliştiricisi

sgcWebSockets harika ve desteğiniz en iyisi!

Christian Meyer Kurucu ve CTO

Yardımınız ve desteğiniz için çok teşekkürler, bileşenlerinize bayılıyorum.

Mark Steinfeld CTO

eSeGeCe'nin REST ve OpenAPI görünümünü görüyorsunuz.

Bana başka bir açı gösterin →

REST API'ler, OpenAPI Sözleşmeleri, Yerel Kod

Bir REST sunucusu, bir OpenAPI sunucusu ve bir OpenAPI istemcisi; sgcWebSockets Core çalışma zamanı pakete dahil ve kutuda tam kaynak kodu.