標準のペイロード構造
Cloud API のエンドポイントには、要求ペイロードと応答ペイロードの両方に標準の構造があります。構造はデータエンベロープによって定義され、要求スキーマと応答スキーマによって定義されます。
全エンドポイント共通の標準情報
データエンベロープは、JSON をラップするラッパーであり、REST API との間で送受信されます。標準のペイロード構造を維持するために、Cloud API では、DataEnvelope と DataListEnvelope の 2 つのデータエンベロープを使用します。
DataEnvelope は、単一要素の情報の形式を標準化します。以下の子プロパティを含む data プロパティを指定します。
checksumidlinks(単一要素)methodrefidrelatedtypeuri
{
"data": {
"checksum": ...,
"id": ...,
"links": ...,
"method": ...,
"refid": ...,
"related": ...,
"type": ...,
"uri": ...
}
}
}
DataListEnvelope は、コレクションの情報の形式を標準化します。
データセクションと兄弟関係にある以下のプロパティを指定します。
countlinks(コレクション)total
コレクションのペイロードの形式の構造は以下のとおりです。
{
"count" ...,
"data": [
{ properties_for_element_1 },
{ properties_for_element_2 },
...
],
"links": ...,
"total": ...
}
各プロパティが各ペイロードに表示されるとは限りません。プロパティが特定のペイロードに表示されない場合の理由はさまざまです。例:
refidなどのプロパティは要求にのみ適用され、応答ペイロードには表示されません。countなどのプロパティは応答にのみ適用され、要求ペイロードには表示されません。relatedなどのプロパティはデフォルトでは表示されず、要求に特定のクエリパラメータが含まれる場合にのみ表示されます。
特定のエンドポイント固有の標準情報
DataEnvelope と DataListEnvelope で用意している標準形式の情報は、すべての要求ペイロードと応答ペイロードに適用可能です。ただし、さまざまなエンドポイントがさまざまな種類のリソースとやりとりを行います。各エンドポイントで、ペイロードの一部が特定の種類のリソースについての情報を提供する必要があります。
これに対処するため、Cloud API では要求スキーマと応答スキーマも使用します。要求スキーマは、有効な構造の定義に使用されるスキーマであり、特定セットのエンドポイントの要求ペイロードで有効な構造です。同様に、応答スキーマは、有効な構造の定義に使用されるスキーマであり、特定セットのエンドポイントの応答ペイロードで有効な構造です。
要求スキーマと応答スキーマは階層化されています。例えば、応答の場合、GET /activity/{activityId} エンドポイントは ActivityResponse スキーマを使用します。このスキーマには、ActivityData と ActivityResponseInclusions の 2 つの子スキーマがあります。
要求スキーマと応答スキーマで DataEnvelope または DataListEnvelope を拡張します。これにより、すべてのエンドポイントに関連する情報が、標準的な方法でペイロードに表示されます。
また、要求スキーマと応答スキーマは、ペイロードの attributes プロパティも定義します。ペイロードのリソース固有情報を含むスキーマにこのプロパティは関連付けられます。例えば、GET /activity/{activityId} エンドポイントで ActivityData 子スキーマの attributes プロパティを指定します。このプロパティは Activity スキーマに関連付けられ、このスキーマには activityPattern や activityType などのアクティビティ固有フィールドが含まれます。その結果、GET /activity/{activityId} エンドポイントの応答ペイロードの構造は以下のようになります。
{
"data": {
"checksum": ...,
"attributes" : {
"activityPattern": ... ,
"activityType": ...,
...},
"id": ...,
"links": ...,
"method": ...,
"refid": ...,
"related": ...,
"type": ...,
"uri": ...
}
}
}
スキーマの表示
Swagger UI などの API 定義ツールを使用してレビューができる情報には、特定エンドポイントのスキーマに関する情報と、データの構成方法に関する情報があります。
Swagger UI での応答スキーマの表示
手順
- ClaimCenter を起動します。
-
Web ブラウザで、対象となる API の Swagger UI に移動します。
- 詳細については、Swagger UI を使用した API 定義の表示を参照してください。
-
対象となるエンドポイントの操作ボタンをクリックします。Swagger UI で、エンドポイント名の下にエンドポイントの詳細が表示されます。
- 例えば、GET
/activities/{activityID}の応答スキーマを表示するには、そのエンドポイントの[GET]ボタンをクリックします。
- 例えば、GET
- 下にスクロールして[応答]セクションを表示します。[モデル]タブに、このエンドポイントのスキーマの階層と、各スキーマが定義する内容が表示されます。