sgcOpenAPI Parser

自动从 OpenAPI 3.x 规范生成原生 Pascal SDK。导入、解析并生成类型安全的 API 客户端,直接在您的 Delphi IDE 中完成。

OpenAPI 3.x 和 Swagger 1.x/2.x
1,195 个以上预构建云 SDK
Delphi 7 – RAD Studio 13
零外部依赖

功能介绍

将任何 OpenAPI 规范转换为生产就绪的 Pascal 代码,具备完整的类型安全性和 IntelliSense 支持。

几秒钟内从规范生成代码

导入任何 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 代码。

步骤 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。