API 定義の表示
API 定義 は、API の動作を技術的に記述したものです。API 定義には、通常、以下のものが含まれています。
- API のエンドポイント
- ペイロードの構成方法を規定する各エンドポイントで使用されるスキーマ
- 各エンドポイントで使用されるリソース
- 各リソースで使用可能なフィールド
- 各フィールドに適用されるプロパティ
以下は、Cloud API で API 定義を表示するための一般的なアプローチです。
- Swagger UI を使用する。
- 要求ツールを使用して、
/openapi.jsonエンドポイント(または/swagger.json)を呼び出す。
Swagger UI
Swagger UI は、インタラクティブな Web ページとして API 定義を提示するオープンソースツールです。Swagger UI の詳細については、次の Swagger Web サイトを参照してください。https://swagger.io/tools/swagger-ui/
Swagger UI は、ClaimCenter に自動的にバンドルされます。
Swagger UI は、スキーマ情報の表示に役立ちます。Swagger UI はその情報を階層的に表します。子スキーマは、親スキーマを基準にインデントされ、階層の個々のノードは展開したり折りたたむことができます。複雑なスキーマでの検索は、Swagger UI では比較的容易です。
ただし、Swagger UI では、ソースファイルに存在するメタデータのいくつかが取り除かれます。例えば、Guidewire 独自のタグは Swagger UI ではレンダリングされません。1 つの API ですべてのメタデータにアクセスする必要があるとき、/openapi.json エンドポイントを直接呼び出したほうがよい場合があります。
Swagger UI を使用した API 定義の表示
手順
- API のパスを特定します(各 API のパスのリストについては、Cloud API の API のリストを参照してください)。
- ClaimCenter を起動します。
-
Web ブラウザに Swagger UI の URL を入力します。Swagger UI ツールが読み込まれます。
- URL の形式は
<applicationURL>/resources/swagger-ui/です。 - 例えば、ClaimCenter のローカルインスタンスには、
http://localhost:8080/cc/resources/swagger-ui/を使用します。
- URL の形式は
-
Swagger UI インターフェイスの上部にあるテキストフィールドに、希望する API の swagger.json ファイルを指す URL を入力します。そして、[Explore]をクリックします。
- URL の形式は
<applicationURL>/rest<APIpath>/swagger.jsonです。 - 例えば、Common API を表示するには、次のように入力します。
<applicationURL>/rest/common/v1/swagger.json
- URL の形式は
タスクの結果
以下のスクリーンショットは、Swagger UI に表示された Common API の上部を示しています。

Swagger UI での API 情報の構成
Cloud API のバージョン番号は、API 名の後に灰色の楕円内で上部にあります(API ごとに個別のバージョン番号が付いていないことに注意してください。Swagger UI では、Cloud API リリース全体に対するバージョン番号が表示されます)。
API 内のすべてのエンドポイントがリストに表示されます。デフォルトでは、API ごとに以下の情報が表示されます。
- エンドポイントの操作(GET など)
- エンドポイントのパス(
/activitiesなど) - エンドポイントの要約(Returns a list of activities assigned to the current user(現在のユーザーにアサインされたアクティビティのリストを返す)など)
操作ボタンをクリックすると、エンドポイントに関する追加情報が表示されます。これには、以下が含まれます。
- さらに詳細なエンドポイントの説明
- エンドポイントによってサポートされているクエリパラメータのリスト
- エンドポイントによって使用されるリソースおよびスキーマの階層リスト([モデル]タブの[応答]セクションに表示されます)
API 定義エンドポイントと Postman
状況によっては、生の API 定義情報を表示すると役立つことがあります。Cloud API では、すべての API に API 定義を返す 2 つのエンドポイントが含まれています。/openapi.json と /swagger.json です。
/openapi.jsonは、OpenAPI 3.0 仕様(OpenAPI 3.0 とも呼ばれます)を使用して API 定義を返します。/swagger.jsonは、Swagger 2.0 仕様(Swagger 2.0 とも呼ばれます)を使用して API 定義を返します。
/swagger.json エンドポイントを使用)と OpenAPI 3.0 仕様(/openapi.json エンドポイントを使用)のいずれでも返すことができます。API 定義エンドポイントは、Swagger UI で取り除かれる場合があるメタデータを含めて、すべてのエンドポイント関連メタデータを表示する場合に役立つ場合があります。ただし、API 定義エンドポイントでは、「生」の形式で情報が提示されます。色、フォント、または配置を使用して情報を分けることはできません。スキーマ階層は、Swagger UI ほど読みやすくはなりません。スキーマ階層を詳細にレビューする必要がある場合、Swagger UI を使用するほうが容易な可能性があります。
メタデータの視点からは、OpenAPI 3.0 仕様のほうが情報が豊富です。Guidewire では、どちらのエンドポイントも選択できる場合は、/openapi.json エンドポイントの使用をお勧めします。例えば、Guidewire 独自のタグ(x-gw-typelist など)は、/openapi.json 応答ではリストされますが、/swagger.json 応答ではリストされません。ただし、API メタデータのレンダリングに使用するいくつかのツールは、OpenAPI 3.0 仕様を使用して情報を処理するのに十分なほど堅牢でない場合があります。/swagger.json エンドポイントは、そのような場合に使用できます。
ベースコンフィギュレーションでは、API 定義エンドポイントは、未認証呼び出し元を含めてすべての呼び出し元から使用できます。
Postman
要求ツールを使用して API 定義エンドポイントを呼び出すことができます。要求ツールは、InsuranceSuite アプリケーションに自動的にバンドルされません。自身でダウンロードしてインストールする必要があります。
Postman は Guidewire が推奨する要求ツールです。このツールには、以下の機能があります。
• ヘッダーとペイロードを含めて API 呼び出しを保存する。
• 呼び出しのコレクションを保存する。
• Swagger スキーマファイルをインポートすることで、スキーマのパスに対して呼び出しのコレクションを自動的に作成する。
• コレクションをチームの他の開発者と共有する。
このツールの詳細およびダウンロードについては、https://www.postman.com/ を参照してください。
Postman を使用して API 定義を表示する方法
始める前に
このタスクについて
手順
- API のパスを特定します(各 API のパスのリストについては、Cloud API の API のリストを参照してください)。
- ClaimCenter を起動します。
- Postman を起動します。
- Postman で、[Launchpad]タブの右側の[+]タブをクリックして、新しい要求を開始します。
- [Untitled Request]ラベルで GET が選択されていることを確認します(これはデフォルトの操作です)。
-
[Enter request URL]フィールドに、次の URL を入力します。
<applicationURL>/rest<APIpath>/openapi.json(または<applicationURL>/rest<APIpath>/swagger.json)。例えば、ClaimCenter のローカルインスタンスの Common API を表示するには、以下のように入力します。- http://localhost:8080/cc/rest/common/v1/openapi.json(または http://localhost:8080/cc/rest/common/v1/swagger.json)
- 要求フィールドの右側にある[送信]ボタンをクリックします。
タスクの結果
結果ペインに API 情報が表示されます。例えば、前に参照した openapi.json エンドポイントを呼び出すときの結果で最初の部分を以下に示します。
{
"components": {
"parameters": {
"activityId": {
"description": "The REST identifier for the activity, as returned via previous requests that return a list of activities\n",
"in": "path",
"name": "activityId",
"required": true,
"schema": {
"type": "string"
}
},
...
API 定義エンドポイントの出力における情報の構成
API 定義エンドポイントの出力は、「生」の JSON です。
- API に関する一般的な情報は
infoセクションにあります。 - エンドポイントのリストは
pathsセクションにあります。- エンドポイントのパスに複数の操作が含まれている場合、エンドポイントのパスは 1 回のみリストされます。各操作はその下に表示されます。
- 例えば、Common API で、
/activities/{activityId}パスには、GET と PATCH のリストがあります。
- 要約と説明は、要約や説明の対象の横に並べて表示されます。