OpenAPI パーサー

OpenAPI 3.0 / 3.1 / 3.2 仕様を読み込むネイティブな Delphi クラスです。Swagger 2.0 ドキュメントは読み込み時に変換されます。すべてのエンドポイント、スキーマ、セキュリティ定義にプログラムからアクセスできます。

TsgcOpenAPI

フォームに配置するものはありません。sgcOpenAPI はコンポーネントを登録せず、デザインタイムパッケージも同梱しません。sgcOpenAPI_Classes.pas の TsgcOpenAPI をコードで生成し、任意の API 仕様を読み込みます。

仕様の読み込み

ReadFromFile はパスを、Read は文字列としてのドキュメントを受け取ります。URL はコマンドラインツールが先にダウンロードします。JSON と YAML はどちらもローカルで読み込まれ、Swagger 2.0 ドキュメントもローカルで OpenAPI 3.0 に変換されます。

API モデルの参照

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 ドキュメントについて報告されます。

最もお得な選択: All-AccesseSeGeCe の全製品にプレミアムサポートが付いて、年間 €1,059 からご利用いただけます。
All-Access の価格を見る

パーサーをお試しください

体験版をダウンロードして、わずか数分で最初の OpenAPI 仕様をパースできます。