sgcOpenAPI パーサー

OpenAPI 3.x 仕様からネイティブな Pascal SDK を自動生成します。Delphi IDE から直接、型安全な API クライアントをインポート・パース・生成できます。

OpenAPI 3.x と Swagger 1.x/2.x
1,195+ のビルド済みクラウド SDK
Delphi 7 – RAD Studio 13
外部依存ゼロ

できること

あらゆる OpenAPI 仕様を、完全な型安全と IntelliSense サポートを備えた本番品質の Pascal コードに変換します。

仕様からコードまで数秒

任意の OpenAPI または Swagger 仕様をインポートすると、sgcOpenAPI がプロジェクトですぐに使える、整理された慣用的な Object Pascal インターフェースを生成します。

  • OpenAPI 3.x 仕様 (JSON および YAML) をインポート
  • Swagger 1.x と 2.x の後方互換性
  • ネイティブな Object Pascal インターフェースとクラスを生成
  • IntelliSense に完全対応した型安全な API 呼び出し
  • 自動ドキュメント生成 (PDF と CHM)

主要クラウドプラットフォーム向けのビルド済み SDK

大手クラウドプロバイダー向けにすぐ使える Pascal SDK で、すぐに開発を始められます。すべての SDK は最新の API 仕様に合わせて定期的に更新されます。

  • Amazon AWS — 280 以上の REST サービス
  • Google Cloud — 250 以上のサービス
  • Microsoft Azure — 650 以上のサービス
  • Microsoft Graph API — 15 以上のサービス
AWS 280+ Google 250+ Azure 650+ Graph 15+ 1,195+ SDKs Ready to Use

仕組み

API 仕様から完全に統合された Pascal コードまで、シンプルな 3 ステップです。

ステップ 1

インポート

JSON または YAML 形式の OpenAPI 3.x 仕様ファイルを読み込みます。Swagger 1.x と 2.x の仕様は自動的に検出され、OpenAPI 3.x スキーマに変換されます。

ステップ 2

生成

パーサーがエンドポイント、パラメーター、リクエスト/レスポンスモデル、認証スキームを解析し、適切な型マッピングを備えた、整理された慣用的な Pascal コードを生成します。

ステップ 3

統合

生成されたユニットを Delphi プロジェクトに組み込むだけです。完全な型安全、IntelliSense サポート、外部依存なし。すぐに API を呼び出せます。

幅広いプラットフォームサポート

Delphi と Pascal ツールチェーンの主要バージョンすべてで動作します。

Delphi

Delphi 7 から RAD Studio 13 まで完全対応。VCL と FireMonkey フレームワーク、デザインタイムコンポーネント登録に対応します。

C++ Builder

ラッパーヘッダー付きのネイティブ C++ Builder サポート。C++ Builder 2007 から C++ Builder 13 まで対応します。

生成コードの実例

生成された Pascal SDK が実際にどのように見えるかをご確認ください — 整理されていて、型安全で、すぐに使えます。

Delphi
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;

API 統合を自動化

ボイラープレートな HTTP コードを書くのはやめましょう。任意の OpenAPI 仕様から、型安全な Pascal SDK を数秒で生成できます。