Amazon AWS, 280+ hizmet
S3, EC2, Lambda, DynamoDB, SQS, SNS, CloudFormation ve daha fazlasını kapsayan REST hizmeti SDK'ları. Birimi projeye ekleyin ve hizmeti türlü istek ve yanıt sınıflarıyla çağırın.
AWS SDK'larını görüntüleyin →sgcOpenAPI'yi bir OpenAPI 3.x belgesine yöneltin. Ayrıştırıcı belgeyi okur, üretici yerel bir Object Pascal SDK'sı oluşturur, OpenAPI sunucu bileşeni ise kendi uç noktalarınızı canlı bir belirtim olarak yayımlar.
Girdi belirtim, çıktı Pascal ve iki uçta da bir sunucu. Seslendirmeli ve altyazılı. Oynat'a basana kadar hiçbir şey indirilmez.
Bir belirtimi Delphi koduna, Delphi kodunu da çalışan bir sunucuya dönüştürün.
Başlamak için hiçbir şey üretmeniz gerekmez. En büyük dört bulut platformu, resmi belirtimlerden üretilmiş ve güncel tutulan, kullanıma hazır Pascal SDK'ları olarak sgcOpenAPI içinde gelir.
S3, EC2, Lambda, DynamoDB, SQS, SNS, CloudFormation ve daha fazlasını kapsayan REST hizmeti SDK'ları. Birimi projeye ekleyin ve hizmeti türlü istek ve yanıt sınıflarıyla çağırın.
AWS SDK'larını görüntüleyin →Kitaplığın en büyük kümesi. Azure VM'leri, Blob Storage, Functions, Cosmos DB, Key Vault ve Azure denetim düzleminin geri kalanı, her biri üretilmiş bir Pascal istemcisi.
Azure SDK'larını görüntüleyin →Compute Engine, Cloud Storage, BigQuery, Pub/Sub, Cloud Functions ve daha fazlası.
Google SDK'larını görüntüleyin →Graph API üzerinden Office 365, Microsoft Teams, OneDrive, Outlook ve Active Directory.
Microsoft SDK'larını görüntüleyin →API bir OpenAPI veya Swagger belgesi yayımlıyorsa, üretici onu aynı türde türlü bir Pascal birimine dönüştürür. İzin verilenler listesi yoktur.
Üretici özellikleri →Single, Team ve Site seviyelerinin hepsi ayrıştırıcıyı, kod üreticiyi, OpenAPI sunucu bileşenini ve hazır SDK kitaplığının tamamını içerir. Hiçbir şey ayrıca satılmaz.
Tüm hazır SDK'lar →Herkese açık bir belirtimden derlenen bir Delphi istemcisine, uygulamalı kılavuzlar
Beş adım, hepsi IDE içinde. Node.js yok, Java kod üreticisi yok, öğrenilecek şablon motoru yok.
# one input, one output, and you have a unit
> sgcOpenAPI.exe -i "api.github.com.json" -o "github.pas" -a 2
File successfully created github.pas
# -a 2 wires up token auth -u sets the base url
# -x drops operations -p prunes the classes they used
# -s emits a server stub instead of a client
# exit 0 ok, 5 bad input, 6 bad output, 7 not convertible
uses
github; // the unit you just generated
procedure TForm1.btnReposClick(Sender: TObject);
var
oResponse: TsgcOpenAPI_reposlistforauthenticateduser_Response;
oRepo: TsgcOpenAPI_repository_Class;
begin
GetOpenAPIClient.Authentication.Token.BearerToken := 'ghp_...';
oResponse := GetOpenAPIClient.reposlistforauthenticateduser(
'private', 'owner', 'all', 'full_name', '', 100, 1);
try
if oResponse.IsSuccessful then
for oRepo in oResponse.Successful.Items do
Memo1.Lines.Add(oRepo.Full_name)
else
Memo1.Lines.Add(IntToStr(oResponse.ResponseCode) + ' ' +
oResponse.ResponseError);
finally
oResponse.Free;
end;
end;
uses
sgcHTTP_Server, sgcHTTP_OpenAPI_Server, sgcWebSocket_Server_API_OpenAPI;
procedure TForm1.btnStartClick(Sender: TObject);
begin
FServer := TsgcHTTPServer.Create(Self);
FServer.Port := 8080;
FOpenAPI := TsgcWSAPIServer_OpenAPI.Create(Self);
FOpenAPI.OpenAPIOptions.Endpoint.ServeSpec := True;
FOpenAPI.OpenAPIOptions.Endpoint.ServeSwaggerUI := True;
FOpenAPI.OpenAPIOptions.Validation.ValidateRequest := True;
FOpenAPI.LoadFromFile('petstore.json');
FOpenAPI.OnRequest := OnOpenAPIRequest;
FOpenAPI.Server := FServer;
FServer.Active := True;
end;
// one event, dispatched by operation id
procedure TForm1.OnOpenAPIRequest(Sender: TObject;
const aOperationId: string;
const aContext: TsgcOpenAPIServerContext;
var Handled: Boolean);
begin
Handled := True;
if aOperationId = 'getPetById' then
aContext.RespondJSON(200,
FPets.Values[aContext.PathParamAsString('petId')])
else
Handled := False;
end;
-i ile belirtin. İkisi de yerelde okunur, bir Swagger 2.0 belgesi de yerelde OpenAPI 3'e dönüştürülür.TsgcOpenAPI belgeyi şu alanlara okur: Paths, Bileşenler, Security, Servers, Tags ve Info, karşılanamayan her şeyi ise Warningsalanına kaydeder. Harici $ref işaretçileri, önceden şu bileşen tarafından getirilir: TsgcOpenAPI_Bundle.TsgcOpenAPI_Parser_Client_Pascal bu okuyucudan türer ve tek bir Pascal birimi yazar: işlem başına bir metot, metot başına bir yanıt sınıfı ve her şema için bir sınıf, belgedeki açıklamalar yorum olarak eklenir.Source klasöründen başka bir şey bulunması gerekmez. Türlü yanıtlar XE7 veya üstünü gerektirir.GetOpenAPIClientçağırın, kimlik bilgilerini Authenticationüzerinde ayarlayın ve işlemi çağırın. Temel URL, belgenin servers girdisinden zaten hazır gelir.Üretici okuyucudan türediği için TsgcOpenAPI nesnesini kendiniz de oluşturabilir, ayrıştırılan modelde gezinebilir ve üzerine kendi araçlarınızı geliştirebilirsiniz. Ayrıştırıcı bileşeni →
TsgcWSAPIServer_OpenAPI bir TsgcHTTPServerüzerine bağlanır, gelen istekleri yüklediğiniz belgeye göre yönlendirir, işleyiciniz çalışmadan önce doğrular ve belgeyi ve bir Swagger UI'yi aynı bağlantı noktasından sunar.

GET /pets/{petId} isteği OnRequest işleyicinize şu işlem kimliğiyle ulaşır: aOperationId = getPetById. GET /openapi.json yüklediğiniz belgeyi döndürür, GET /docs ise Swagger UI'yi açar. İkisi de şu ayarlarla açılır: Endpoint.ServeSpec ve Endpoint.ServeSwaggerUI. Endpoint.BasePath bu ikiliyi bir önekin altına taşır.

Bir JSON sözleşmesini LoadFromFile ile yükleyin ve işlem kimliğine göre yönlendirin, ya da bir Pascal sınıfını sgcServiceContract, sgcHttpGet, sgcRoute ve sgcFromBody ile işaretleyin ve belgeyi TsgcOpenAPICodeFirstScanner oluştursun. Code-First, Delphi XE7 veya üstünü gerektirir. Her iki demo da şu klasörde gelir: Demos\30.Server\.

Validation.ValidateRequest, ValidateRequired ve ValidateRequestBody gelen isteği, işleyiciniz çalışmadan önce belgeye göre denetler. OnValidationError size işlem kimliğini ve hataların listesini verir, ayrıca isteğin reddedilip reddedilmeyeceğini belirleyen bir Continue bayrağı sunar.

Belgedeki securityScheme girdileri OnValidateAPIKey, OnValidateBasic ve OnValidateBearerolaylarını yönlendirir. Kimlik bilgisi aramasını siz yazarsınız, bileşen isteği ayrıştırır ve arama olumsuz dönünce doğru durum koduyla yanıt verir.
Sunucu, WebSocket uç noktalarınızı ve statik dosyalarınızı barındıran aynı sgcWebSockets HTTP sunucusu üzerinde çalışır. Tek bağlantı noktası, tek TLS sertifikası, tek günlük akışı. OpenAPI sunucu bileşeni →
Delphi ve C++ Builder için tek 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+ hazır bulut SDK'sı. Tam kaynak kodu, telifsiz dağıtım. Ekip büyüklüğüne göre seçin.
Bir geliştirici. Ayrıştırıcı, üretici, sunucu bileşeni ve tüm hazır SDK'lar.
İki geliştirici. Single ile aynı eksiksiz ürün.
Sınırsız geliştirici. Single ile aynı eksiksiz ürün.
sgcOpenAPI ayrı lisanslanır. Ayrıştırıcı, kod üretici, sunucu bileşeni ve 1.195+ hazır SDK'nın tamamı her seviyeye dahildir.
Seviyeleri ve fiyatları karşılaştırınDü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.
Ayrıştırıcı, kod üretici, OpenAPI sunucu bileşeni ve 1.195+ hazır bulut SDK'sının tamamı tek lisansta. Tam kaynak kodu, telifsiz dağıtım, Delphi 7'den RAD Studio 13'e.
BaşlarkenÖzelliklerAyrıştırıcıSunucuHazır SDK'larKarşılaştırma
sgcOpenAPI, Delphi, C++ Builder ve .NET için eSeGeCe bileşen kitaplıklarından biridir. Ortak kurallara sahiptirler, tam kaynak kodla gelirler ve telifsiz dağıtılırlar.
WebSocket, HTTP/2, MQTT, AMQP, WebRTC, yapay zeka ve 30+ API entegrasyonu. OpenAPI sunucu bileşeninin üzerinde çalıştığı HTTP sunucusu.
Delphi ve C++ Builder için REST sunucusu, OpenAPI sunucusu ve OpenAPI istemci bileşenleri. REST API'lerini bir OpenAPI 3.x sözleşmesinden yayımlayın ya da OpenAPI ile tanımlanmış herhangi bir API'yi tüketin. Bağımsızdır, sgcWebSockets Core çalışma zamanı dahildir.
Bootstrap 5 ve htmx üzerinde sunucu taraflı HTML ve arayüz bileşenleri. Ürettiğiniz REST istemcileri için yönetim ya da pano arayüzünü JavaScript ön yüzü olmadan oluşturun.
Ham QUIC aktarımı ile WebTransport destekli bir HTTP/3 istemcisi ve sunucusu. Ürettiğiniz REST istemcilerini daha düşük bağlantı gecikmesi için QUIC/HTTP-3 aktarımı üzerinden sunun.
Belgeler için XAdES, PAdES, CAdES ve ASiC; kod için Authenticode, ClickOnce, NuGet ve VSIX. API'nizin değiş tokuş ettiği istek ve yanıt gövdelerini imzalayın.
PDF dosyalarını saf Object Pascal ile oluşturma, düzenleme, görüntüleme, imzalama, sansürleme ve doğrulama; dağıtılacak DLL yok. Ayrı olarak lisanslanır.
Delphi 7'den 13'e modern TLS, IPv6 ve HTTP/2 destekli, güncellenmiş Indy TCP/IP bileşenleri. Üretilen istemcilerin altındaki aktarım katmanı.
Paketler, eklentiler ve daha fazlası