OpenAPI 파서
OpenAPI 3.0, 3.1, 3.2 사양을 읽는 네이티브 Delphi 클래스예요. Swagger 2.0 문서는 읽어 들이면서 변환되고, 모든 엔드포인트, 스키마, 보안 정의에 프로그래밍 방식으로 접근할 수 있어요.
OpenAPI 3.0, 3.1, 3.2 사양을 읽는 네이티브 Delphi 클래스예요. Swagger 2.0 문서는 읽어 들이면서 변환되고, 모든 엔드포인트, 스키마, 보안 정의에 프로그래밍 방식으로 접근할 수 있어요.
폼에 드롭할 것이 없어요. sgcOpenAPI는 컴포넌트를 등록하지 않고 디자인 타임 패키지도 제공하지 않아요. sgcOpenAPI_Classes.pas의 TsgcOpenAPI를 코드에서 생성해 원하는 사양을 읽어 들이세요.
ReadFromFile은 경로를, Read는 문서를 문자열로 받아요. URL은 명령줄 도구가 먼저 내려받아요. JSON과 YAML은 모두 로컬에서 읽고, Swagger 2.0 문서도 로컬에서 OpenAPI 3.0으로 변환해요.
Paths, Webhooks, Components, Security, Servers, Tags, Info가 객체의 속성이라서 경로, 작업, 매개변수, 요청/응답 본문, 스키마, 보안 스킴 모두 강하게 형식화된 모델로 접근할 수 있어요.
TsgcOpenAPI_Parser_Client_Pascal이 같은 클래스를 상속하므로, 생성기는 리더 위에 에미터를 얹은 것이에요. 이를 상속해 Pascal 유닛을 만들거나, 커스텀 도구와 자동화를 위해 모델을 직접 순회하세요.
$ref는 인라인되지 않고 _Ref로 객체에 남아 있어서 모델이 역참조된 상태로 오지는 않아요. 외부 파일 참조와 URL 참조는 TsgcOpenAPI_Bundle이 미리 가져와 인라인하고, 이미 방문한 것을 기억하며 최대 깊이에서 멈춰요.
AllOf, OneOf, AnyOf가 Discriminator 및 그 매핑과 함께 스키마 객체로 읽히고, 코드 생성기가 이를 Pascal 클래스로 평탄화해요.
Warnings에는 누락된 info 객체부터 생성기가 무시하는 키워드까지 리더가 처리하지 못한 내용이 모두 모이고, 읽을 때마다 비워져요. 줄과 열은 파싱되지 않는 YAML 문서에 대해 보고돼요.