sgcOpenAPI Parser

OpenAPI 3.x 사양에서 네이티브 Pascal SDK를 자동으로 생성하세요. Delphi IDE에서 바로 타입 안전한 API 클라이언트를 가져오고, 파싱하고, 생성할 수 있어요.

OpenAPI 3.x와 Swagger 1.x/2.x
1,195개 이상의 미리 빌드된 클라우드 SDK
Delphi 7 – RAD Studio 13
외부 의존성 없음

주요 기능

완전한 타입 안전성과 IntelliSense 지원으로 모든 OpenAPI 사양을 프로덕션 수준의 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+ SDK 즉시 사용 가능

동작 방식

API 사양에서 완전히 통합된 Pascal 코드까지, 세 가지 간단한 단계로 진행해요.

1단계

가져오기

OpenAPI 3.x 사양 파일을 JSON 또는 YAML 형식으로 로드하세요. 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;

Automate Your API Integration

Stop writing boilerplate HTTP code. Generate type-safe Pascal SDKs from any OpenAPI specification in seconds.