한눈에 보기
OpenAPI 사양에서 동작하는 Delphi 코드까지, 여섯 가지 경로
각 옵션의 한 단락 요약과 공식 문서 또는 저장소 링크예요. 자세한 비교는 아래 매트릭스에 있어요.
sgcOpenAPI
eSeGeCe · 상용
상용 Delphi / C++ Builder 컴포넌트 모음이에요. OpenAPI 3.x JSON / YAML과 Swagger 1.x / 2.x 사양을 파싱한 다음, Delphi 7부터 RAD Studio 13까지 VCL과 FireMonkey에서 깔끔하게 컴파일되는 네이티브 Object Pascal 인터페이스, 레코드, 열거형을 생성해요. 엔드포인트를 실시간 OpenAPI 문서로 게시하고 사양에서 핸들러를 바인딩하는 OpenAPI 서버 컴포넌트도 번들로 제공돼요. Amazon AWS(280개 이상), Google Cloud(250개 이상), Microsoft Azure(650개 이상), Microsoft Graph(15개 이상)를 포함한 1,195개 이상의 미리 빌드된 Pascal SDK를 함께 제공해요. 생성된 코드는 sgcOpenAPI 런타임 외에 외부 의존성이 없어요.
공식 페이지
OpenAPI Generator
OpenAPI Tools 커뮤니티 · Apache 2.0(오픈 소스)
원래 Swagger Codegen에서 포크된 오픈 소스 Java 도구로, 60개 이상의 클라이언트 생성기와 40개 이상의 서버 스텁 생성기를 제공해요. C, C#, C++(cpp-restsdk, Qt5, Oat++, Tizen, Unreal Engine 4), Go, Java, Kotlin, PHP, Python, Rust, TypeScript 등을 위한 클라이언트와 서버를 생성해요. 공식 생성기 목록에는 Delphi / Object Pascal / Free Pascal 대상이 포함되어 있지 않아요.
공식 페이지
Swagger Codegen
SmartBear / 커뮤니티 · Apache 2.0(오픈 소스)
SmartBear가 만든 원조 Java 코드 생성기 프로젝트로, 2018년에 OpenAPI Generator가 여기서 포크되었어요. ActionScript, Ada, Apex, Bash, C#, C++, Clojure, Dart, Elixir, Erlang, Go, Groovy, Haskell, Java, Kotlin, Lua, Node.js, Objective-C, Perl, PHP, PowerShell, Python, R, Ruby, Rust, Scala, Swift, TypeScript를 지원해요. 3.x 라인은 OpenAPI 3.0을 지원하고, 2.x 라인은 OpenAPI 2.0(Swagger)만 지원해요. 두 라인 모두 Delphi나 Object Pascal 생성기는 없어요.
공식 페이지
mORMot 2 OpenAPI 클라이언트 생성기
Arnaud Bouchez / Synopse · MPL / GPL / LGPL(오픈 소스)
mORMot 2는 mormot.net.openapi.pas를 제공해요. 이 유닛은 OpenAPI 3.x나 Swagger 2.0 문서(파일 또는 URL)를 읽고 FPC / Delphi Pascal 클라이언트 유닛을 생성해요 — DTO 역할의 상위 레벨 레코드와 동적 배열, 열거 값에 대한 Pascal 열거형, HTTP 상태 코드를 예외로 변환하는 처리가 포함돼요. 이 유닛은 FPC와 Delphi 7 / 2009 이상을 대상으로 하며, 더 넓은 mORMot SOA / ORM 프레임워크의 일부로 동작해요.
공식 페이지
TMS XData와 OpenAPI Delphi Generator
TMS Software / Landgraf Software · 상용(XData) / Apache 2.0 + Commons Clause(생성기)
TMS XData는 상용 Delphi REST / JSON / ORM 리모팅 프레임워크예요. XData 서버는 자체 엔드포인트에 대해 /openapi/swagger.json 경로에 OpenAPI(이전 명칭 Swagger) 문서를 게시할 수 있고, SwaggerUI / Redoc과 함께 사용할 수 있어요. 동반 도구인 OpenAPI Delphi Generator(원래 XData에 번들되었지만 지금은 landgraf-dev/openapi-delphi-generator에서 별도의 오픈 소스 프로젝트)는 Swagger 2.0 / OpenAPI 3.0 문서를 소비해 Delphi 인터페이스와 TXDataClient에서 사용할 DTO 클래스를 생성해요.
공식 페이지
수작업 REST 클라이언트(Indy / THTTPClient)
Indy Project / Embarcadero · BSD / MPL(Indy) · RAD Studio EULA(THTTPClient)
흔한 현실이에요. 개발자가 TIdHTTP(Indy)나 System.Net.HttpClient.THTTPClient(Delphi에 번들됨)로 REST 클라이언트를 직접 작성해요. 코드 생성도 없고 스키마도 없이, RTL JSON 유닛(또는 TJSONObject)으로 수작업 JSON 마샬링을 해요. 인증, 재시도 로직, 페이지네이션도 직접 구현해야 해요.
공식 페이지