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

REST istemcilerini elle yazmayı bırakın

sgcOpenAPI'yi bir OpenAPI 3.x belgesine yönlendirin. Ayrıştırıcı belgeyi okur, üretici yerel bir Object Pascal SDK'si üretir ve OpenAPI sunucu bileşeni kendi uç noktalarınızı canlı bir spesifikasyon olarak dışarıya yayımlar. Ya da üreticiyi tamamen atlayın, çünkü AWS, Azure, Google Cloud ve Microsoft Graph için 1.195+ SDK zaten oluşturulmuş ve pakete dahil edilmiştir.

  • OpenAPI 3.0 ve 3.1
  • JSON ve YAML
  • Swagger 2.0 otomatik dönüştürülür
  • Delphi 7'den RAD Studio 13'e

İhtiyacınız Olan SDK Muhtemelen Zaten Yazılmış

sgcOpenAPI'nin her kademesi, Single, Team ve Site, ayrıştırıcıyı, kod üreticisini, OpenAPI sunucu bileşenini ve önceden oluşturulmuş SDK kütüphanesinin tamamını içerir. Hiçbir şey ayrı satılmaz.

1,195+ Önceden oluşturulmuş bulut SDK'si Resmi OpenAPI spesifikasyonlarından üretilir ve düzenli olarak güncellenir.
280+ Amazon AWS hizmeti S3, EC2, Lambda, DynamoDB, SQS, SNS, CloudFormation ve daha fazlasını kapsayan REST hizmet SDK'leri.
650+ Microsoft Azure hizmeti Azure VM'leri, Blob Storage, Functions, Cosmos DB, Key Vault ve daha fazlası.
250+ Google Cloud hizmeti Compute Engine, Cloud Storage, BigQuery, Pub/Sub, Cloud Functions ve daha fazlası.
15+ Microsoft Graph SDK'si Office 365, Microsoft Teams, OneDrive, Outlook ve Active Directory.
sgcOpenAPI

Delphi ve C++ Builder için tek bir paket ürün: bir OpenAPI 3.x ayrıştırıcısı, yerel bir Pascal SDK üreticisi, bir OpenAPI sunucu bileşeni ve 1.195+ önceden oluşturulmuş bulut SDK'si. Tam kaynak, telifsiz dağıtım.

Dört Bulut, Zaten Pascal Dilinde

Başlamak için hiçbir şey üretmeniz gerekmez. En büyük dört bulut platformu, resmi spesifikasyonlardan üretilmiş ve güncel tutulan, kullanıma hazır Pascal SDK'leri olarak sgcOpenAPI içinde gelir.

280+ hizmet

Amazon AWS

S3, EC2, Lambda, DynamoDB, SQS, SNS, CloudFormation ve daha fazlasını kapsayan REST hizmet SDK'leri. Birimi projeye bırakın ve hizmeti tipli istek ve yanıt sınıflarıyla çağırın.

AWS SDK'lerini görüntüleyin →
650+ hizmet

Microsoft Azure

Kütüphanedeki en büyük set. Azure VM'leri, Blob Storage, Functions, Cosmos DB, Key Vault ve Azure kontrol düzleminin geri kalanı, her biri üretilmiş bir Pascal istemcisi.

Azure SDK'lerini görüntüleyin →
Diğer her şey

Başka Herhangi Bir Spesifikasyon

API bir OpenAPI veya Swagger belgesi yayımlıyorsa, üretici onu aynı türde, tipli bir Pascal birimine dönüştürür. İzin listesi yoktur.

Üretici özellikleri →

Açık bir spesifikasyondan derlenen bir Delphi istemcisine kadar, adım adım kılavuzlar:

Spesifikasyon Girer, Derlenen Kod Çıkar

Beş adım, hepsi IDE'nin içinde. Node.js yok, Java kod üreticisi yok, öğrenilecek şablon motoru yok.

  1. 1 Bir spesifikasyona yönlendirin

    Bir OpenAPI 3.x belgesini dosyadan, URL'den veya bir metinden, JSON ya da YAML biçiminde yükleyin. Swagger 1.x ve 2.x dosyaları algılanır ve sizin için OpenAPI 3.x modeline dönüştürülür.

  2. 2 Ayrıştırın

    TsgcOpenAPIParser, harici dosyalar ve dairesel başvurular dahil olmak üzere $ref işaretçilerini çözer, allOf, oneOf ve anyOf yapılarını düzleştirir ve yapısal hataları satır düzeyinde ayrıntıyla bildirir.

  3. 3 Üretin

    TsgcOpenAPIGenerator, etiket başına bir sınıf olacak şekilde gruplanmış, güçlü tipli Pascal sınıfları, kayıtları ve numaralandırmaları üretir, ayrıca kodun yanında PDF ve CHM belgeleri oluşturur.

  4. 4 Derleyin

    Üretilen birimleri projeye bırakın. Delphi 7'den RAD Studio 13'e ve C++ Builder 2007'den 13'e kadar, sgcOpenAPI çalışma zamanının dışında hiçbir harici bağımlılık yoktur.

  5. 5 Çağırın

    BaseURL değerini ayarlayın, kimlik bilgilerini girin ve işlemi çağırın. Tip güvenli yöntemler, tipli sonuçlar, IDE'de tam IntelliSense.

uses
  sgcOpenAPI_Parser, sgcOpenAPI_Generator;
var
  vParser: TsgcOpenAPIParser;
  vGen: TsgcOpenAPIGenerator;
begin
  vParser := TsgcOpenAPIParser.Create(nil);
  try
    vParser.LoadFromFile('C:\specs\github\api.github.com.json');
    Memo1.Lines.Add(Format('GitHub spec: %d paths, %d schemas',
      [vParser.Paths.Count, vParser.Schemas.Count]));

    vGen := TsgcOpenAPIGenerator.Create(nil);
    try
      vGen.Parser := vParser;
      vGen.OutputUnit := 'sgcOpenAPI_GitHub';
      vGen.OutputFolder := 'C:\Generated\GitHub';
      vGen.GroupBy := gbTag;        // one class per tag
      vGen.Generate;
    finally
      vGen.Free;
    end;
  finally
    vParser.Free;
  end;
end;
uses
  sgcOpenAPI_PetStore;  // Generated from petstore.yaml

procedure TForm1.btnGetPetClick(Sender: TObject);
var
  Client: TsgcOpenAPI_PetStoreClient;
  Pet: TsgcOpenAPI_Pet;
begin
  Client := TsgcOpenAPI_PetStoreClient.Create(nil);
  try
    Client.BaseURL := 'https://petstore.swagger.io/v2';
    Client.ApiKey  := 'your-api-key';

    // Type-safe API call with IntelliSense
    Pet := Client.GetPetById(42);
    try
      Memo1.Lines.Add('Name: '     + Pet.Name);
      Memo1.Lines.Add('Status: '   + Pet.Status);
      Memo1.Lines.Add('Category: ' + Pet.Category.Name);
    finally
      Pet.Free;
    end;
  finally
    Client.Free;
  end;
end;

Ayrıştırıcı ve üretici ayrı bileşenlerdir, bu yüzden ayrıştırılmış modeli kendiniz de gezebilir ve üzerine kendi araçlarınızı kurabilirsiniz. Ayrıştırıcı bileşeni →

Spesifikasyonu Yalnızca Tüketmeyin, Sunun

TsgcOpenAPIServer canlı bir OpenAPI 3.x belgesi yayımlar, gelen istekleri spesifikasyona göre yönlendirir, yükleri her iki yönde de doğrular ve gömülü bir Swagger UI ile Redoc sunar. Hepsi, sgcWebSockets HTTP/2 sunucusunun üzerinde çalışan tek bir Delphi bileşeninden.

OpenAPIServer.pas
uses
  sgcOpenAPI_Server, sgcOpenAPI_Types, sgcHTTP_Server;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FServer := TsgcOpenAPIServer.Create(nil);
  FServer.HTTPServer := sgcHTTPServer1;
  FServer.Spec.LoadFromFile('petstore.yaml');
  FServer.PublishSpecPath := '/openapi.json';
  FServer.SwaggerUIPath   := '/docs';
  FServer.RedocPath       := '/redoc';

  // Bind an operation declared in the spec
  FServer.OnOperation_getPetById :=
    procedure(const Ctx: TsgcOpenAPIContext)
    var
      oPet: TJSONObject;
    begin
      oPet := TJSONObject.Create;
      oPet.AddPair('id',     Ctx.PathParams['petId']);
      oPet.AddPair('name',   'Rex');
      oPet.AddPair('status', 'available');
      Ctx.RespondJSON(200, oPet);
    end;

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

Bu size ne kazandırır

GET /pets/{petId} yukarıdaki işleyiciyi çalıştırır. GET /openapi.json canlı belgeyi döndürür. GET /docs Swagger UI'yi açar, GET /redoc ise Redoc'u açar. HTTP sunucusunda yapılandırılmışsa HTTP/2 ve TLS zaten etkindir.

Önce spesifikasyon ya da önce kod

Bir YAML veya JSON sözleşmesi yükleyip işleyicileri işlem kimliklerine bağlayın ya da işleyicileri Pascal içinde kaydedin ve OpenAPI belgesini çalışma zamanında bileşenin oluşturmasına izin verin.

Her iki yönde doğrulama

Zorunlu alanlar, tip dönüşümü, numaralandırma üyeliği, biçim doğrulayıcıları, uzunluk ve aralık sınırları, desenler ve şema bileşimi, işleyici çalışmadan önce uygulanır. Hatalar, alan düzeyinde tanılamalarla birlikte RFC 7807 problem ayrıntıları olarak döner.

Kimlik doğrulama, spesifikasyondan bağlanır

Belgedeki her securityScheme otomatik olarak uygulanır. Kimlik bilgisi aramasını siz yazarsınız, ayrıştırmayı, sorgulama başlıklarını ve 401 ile 403 yanıtlarını bileşen üstlenir.

API Key HTTP Basic Bearer JWT OAuth2 OpenID Connect mTLS Swagger UI + Redoc

OpenAPI sunucu bileşeni →

Sunucu, WebSocket uç noktalarınızı ve statik dosyalarınızı barındıran aynı sgcWebSockets HTTP sunucusu üzerinde çalışır. Tek port, tek TLS sertifikası, tek günlük akışı.

Altı Kütüphane, Tek Araç Kutusu

sgcOpenAPI, Delphi, C++ Builder ve .NET için altı eSeGeCe bileşen kütüphanesinden biridir. Aynı kuralları paylaşırlar, tam kaynak koduyla gelirler ve telifsiz dağıtılırlar.

sgcOpenAPI

OpenAPI 3.x ayrıştırıcısı, yerel Pascal SDK üreticisi, OpenAPI sunucu bileşeni ve AWS, Azure, Google Cloud ile Microsoft Graph için 1.195+ önceden oluşturulmuş SDK.

Daha fazla bilgi →

sgcWebSockets

WebSocket, HTTP/2, HTTP/3, MQTT, AMQP, WebRTC, yapay zeka ve 30+ API entegrasyonu. OpenAPI sunucu bileşeninin üzerinde çalıştığı HTTP sunucusu.

Daha fazla bilgi →

sgcHTML

Bootstrap 5 ve htmx üzerinde sunucu taraflı HTML ve arayüz bileşenleri. Ürettiğiniz REST istemcileri için yönetim veya pano arayüzünü, JavaScript ön yüzü olmadan oluşturun.

Daha fazla bilgi →

sgcSign

Belgeler için XAdES, PAdES, CAdES ve ASiC, kod için Authenticode, ClickOnce, NuGet ve VSIX. API'nizin alışverişini yaptığı istek ve yanıt gövdelerini imzalayın.

Daha fazla bilgi →

sgcBiometrics

Delphi ve C++ Builder için Windows Hello, parmak izi sensörleri ve Windows Biometric Framework. API erişimini bir parmak izinin arkasına alın.

Daha fazla bilgi →

sgcIndy

Delphi 7'den 13'e kadar modern TLS, IPv6 ve HTTP/2 ile güncellenmiş Indy TCP/IP bileşenleri. Üretilen istemcilerin altındaki taşıma katmanı.

Daha fazla bilgi →

Fiyatlandırmayı ve sürümleri 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 OpenAPI görünümünü görüyorsunuz.

Bana başka bir açı gösterin →
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

İlk Pascal SDK'nizi Bugün Üretin

Ayrıştırıcı, kod üreticisi, OpenAPI sunucu bileşeni ve 1.195+ önceden oluşturulmuş bulut SDK'sinin tamamı, tek bir lisansta. Tam kaynak, telifsiz dağıtım, Delphi 7'den RAD Studio 13'e.