スキーマメタデータ

InsuranceSuite システム API を使用する開発者は、Swagger UI や Postman 以外のツールを使用して API メタデータを操作したい場合もあるかもしれません。代わりのツールで作業する場合、以下の機能が役立つ可能性があります(/swagger.json エンドポイントは以下のクエリパラメータをサポートしていません。サポートしているのは、/openapi.json エンドポイントのみです)。

スキーマのレンダリングの代替オプション

クエリパラメータは、HTTP 要求に追加してデフォルトの応答を変更する式です。/openapi.json エンドポイントは以下のクエリパラメータをサポートします。これらのパラメータを使用して、スキーマメタデータのレンダリング方法を変更できます。

  • filterByUser:このユーザーの権限によってエンドポイントおよびスキーマのプロパティをフィルタリングするかどうかを指定します。
    • デフォルトは false です。
  • prettyPrint:返されるスキーマを「整形表示」して、拡大しながら読みやすくするかどうかを指定します。
    • デフォルトは false です。

HTTP 要求にクエリパラメータを追加するには、次の構文を使用します。

?<parameterName>=<value>

その他のクエリパラメータを HTTP 要求に追加するには、初回後の各クエリパラメータに以下の構文を使用します。

&<parameterName>=<value>

例えば、以下の HTTP 要求は Common API のメタデータを取得します。また、filterByUserprettyPrint を有効にします。

http://localhost:8080/cc/rest/common/v1/openapi.json?filterByUser=true&prettyPrint=true

スキーマメタデータから SDK への変換

openapi-generator などの一部のツールは、Swagger スキーマを使用して SDK(ソフトウェア開発キット)を出力できます。/openapi.json エンドポイントは以下のクエリパラメータをサポートします。これらのパラメータを使用して、SDK のレンダリング方法を変更できます。

  • enablePolymorphism:有効なフィールドのセットがデータの属性(国、サブタイプなど)によって変化する可能性がある場合に、discriminator/oneOf パターンを使用してスキーマを出力するかどうかを指定します。
    • デフォルトは true です。
    • false に設定すると、これらの場合におけるスキーマにすべての有効なフィールドのスーパーセットが含まれます。例えば、Address スキーマは、国ごとに異なるスキーマが用意されるのではなく、すべての国のすべてのフィールドが含まれます。
    • false に設定すると、OpenAPI スキーマのその部分をサポートしないツールにもスキーマの出力を使用できるようになる可能性があります。

HTTP 要求にクエリパラメータを追加するには、以下の構文を使用します。

?<parameterName>=<value>

例えば、以下の HTTP 要求は Common API のメタデータを取得します。また、ポリモーフィズムを無効化します。

http://localhost:8080/cc/rest/common/v1/openapi.json?enablePolymorphism=false

(openapi-generator の詳細については、https://github.com/OpenAPITools/openapi-generator/ を参照してください)