sgcOpenAPI パーサー
OpenAPI 3.x 仕様からネイティブな Pascal SDK を自動生成します。Delphi IDE から直接、型安全な API クライアントをインポート・パース・生成できます。
OpenAPI 3.x 仕様からネイティブな Pascal SDK を自動生成します。Delphi IDE から直接、型安全な API クライアントをインポート・パース・生成できます。
あらゆる OpenAPI 仕様を、完全な型安全と IntelliSense サポートを備えた本番品質の Pascal コードに変換します。
任意の OpenAPI または Swagger 仕様をインポートすると、sgcOpenAPI がプロジェクトですぐに使える、整理された慣用的な Object Pascal インターフェースを生成します。
大手クラウドプロバイダー向けにすぐ使える Pascal SDK で、すぐに開発を始められます。すべての SDK は最新の API 仕様に合わせて定期的に更新されます。
API 仕様から完全に統合された Pascal コードまで、シンプルな 3 ステップです。
JSON または YAML 形式の OpenAPI 3.x 仕様ファイルを読み込みます。Swagger 1.x と 2.x の仕様は自動的に検出され、OpenAPI 3.x スキーマに変換されます。
パーサーがエンドポイント、パラメーター、リクエスト/レスポンスモデル、認証スキームを解析し、適切な型マッピングを備えた、整理された慣用的な Pascal コードを生成します。
生成されたユニットを Delphi プロジェクトに組み込むだけです。完全な型安全、IntelliSense サポート、外部依存なし。すぐに API を呼び出せます。
Delphi と Pascal ツールチェーンの主要バージョンすべてで動作します。
Delphi 7 から RAD Studio 13 まで完全対応。VCL と FireMonkey フレームワーク、デザインタイムコンポーネント登録に対応します。
ラッパーヘッダー付きのネイティブ C++ Builder サポート。C++ Builder 2007 から C++ Builder 13 まで対応します。
生成された Pascal SDK が実際にどのように見えるかをご確認ください — 整理されていて、型安全で、すぐに使えます。
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; procedure TForm1.btnListPetsClick(Sender: TObject); var Client: TsgcOpenAPI_PetStoreClient; Pets: TsgcOpenAPI_PetList; i: Integer; begin Client := TsgcOpenAPI_PetStoreClient.Create(nil); try Client.BaseURL := 'https://petstore.swagger.io/v2'; // Strongly-typed list of Pet objects Pets := Client.FindPetsByStatus('available'); try for i := 0 to Pets.Count - 1 do ListBox1.Items.Add(Pets[i].Name); finally Pets.Free; end; finally Client.Free; end; end;