以前 Swagger Specification として知られていた OpenAPI Specification は、RESTful Web サービスを記述・生成・利用・可視化するための機械可読インターフェースファイルの仕様です。Swagger フレームワークの一部でしたが、2016 年に独立したプロジェクトとなり、Linux Foundation のオープンソースコラボレーションプロジェクトである OpenAPI Initiative が管理しています。Swagger をはじめとするツールは、インターフェースファイルからコード、ドキュメント、テストケースを自動生成できます。
OpenAPI インターフェースファイルに基づいて実装されたアプリケーションは、メソッド、パラメーター、モデルのドキュメントを自動生成できます。これにより、ドキュメント、クライアントライブラリ、ソースコードの同期を保つことができます。
新しい OpenAPI WebService(現在はベータ版)がリリースされました。これは JSON 形式の OpenAPI 3.0 仕様を読み込み、ネイティブ Pascal コードで Delphi クライアントを自動生成します。WebService は API との連携方法を示すデモも作成します。
WebService は仕様が 3.0 以上かつ JSON 形式であることを要求します。
OpenAPI 仕様のインポート
最初のステップは OpenAPI 3.0 仕様をインポートすることです。ここでは abstractapi.com が IP アドレスの位置情報を取得するために使用するシンプルな OpenAPI 仕様を使用します。以下が仕様ファイルです:
JSON 形式の OpenAPI 3.0 仕様を取得したら、弊社の OpenAPI WebService を使用して必要な Delphi ファイルを生成できます。以下の URL にアクセスしてください:
https://www.esegece.com/products/openapi/ws/demo
クラス名(デフォルトは TsgcOpenAPI_Test)を設定し、仕様ファイルをアップロードします(事前に解凍し、JSON 形式にしてください)。最後に Upload ボタンを押してファイルを処理します。
処理が成功すると、コンパイル済みデモを含む新しい圧縮ファイルがダウンロードされます。
OpenAPI デモのテスト
デモをテストする前に、abstractapi.com で無料アカウントを作成して API キーを取得してください。
https://app.abstractapi.com/users/signup
ダウンロードしたファイルを解凍し、Demo フォルダーに移動すると sgcOpenAPIDemo.exe ファイルが見つかります。これを実行してください。
Abstractapi.com の URL を表示する新しいフォームが開きます。

次のボタンを押して Retrieve_the_location_of_an_IP_address メソッドを選択し、Api_Key と検索する IP Address を入力してください。リクエストが正常に処理されると、IP アドレスの情報を含む JSON メッセージが返されます。

以下は、sgcOpenAPI WebService が自動生成した圧縮済みのテスト用ファイルです。
