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 →
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.
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.
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.
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.
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 →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 →Compute Engine, Cloud Storage, BigQuery, Pub/Sub, Cloud Functions ve daha fazlası.
Google SDK'lerini görüntüleyin →Graph API üzerinden Office 365, Microsoft Teams, OneDrive, Outlook ve Active Directory.
Microsoft SDK'lerini görüntüleyin →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:
Beş adım, hepsi IDE'nin içinde. Node.js yok, Java kod üreticisi yok, öğrenilecek şablon motoru yok.
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.
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.
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.
Ü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.
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 →
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.
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;
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.
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.
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.
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.
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ışı.
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.
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 →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 →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 →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 →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 →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
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!
sgcWebSockets harika ve desteğiniz en iyisi!
Yardımınız ve desteğiniz için çok teşekkürler, bileşenlerinize bayılıyorum.