2.2. JSON 応答形式の理解
API への呼び出しは、JSON 形式の結果を返します。API 呼び出しは、単一オプションの応答または、応答コレクションの結果を返します。
単一オブジェクトの JSON 応答形式
単一オブジェクトで作業するには、単一オブジェクトの JSON 応答を使用します。単一のオブジェクトに対する API 要求では、オブジェクトの一位識別子 :id が必要です。
これは、ID が 23 の Satellite ドメインに対する単一オブジェクトの形式例です。
要求例:
$ curl --request GET --insecure --user sat_username:sat_password \ https://satellite.example.com/api/domains/23 | python -m json.tool
応答例:
{
"id": 23,
"name": "qa.lab.example.com",
"fullname": "QA",
"dns_id": 10,
"created_at": "2013-08-13T09:02:31Z",
"updated_at": "2013-08-13T09:02:31Z"
}コレクション用の JSON 応答形式
コレクションは、ホストとドメインなどのオブジェクト一覧です。JSON 応答コレクションの形式は、メタデータのフィールドセクションと結果セクションで設定されます。
以下は、Satellite ドメイン一覧のコレクション要求の形式例です。
要求例:
$ curl --request GET --insecure --user sat_username:sat_password \ https://satellite.example.com/api/domains | python -m json.tool
応答例:
{
"total": 3,
"subtotal": 3,
"page": 1,
"per_page": 20,
"search": null,
"sort": {
"by": null,
"order": null
},
"results": [
{
"id": 23,
"name": "qa.lab.example.com",
"fullname": "QA",
"dns_id": 10,
"created_at": "2013-08-13T09:02:31Z",
"updated_at": "2013-08-13T09:02:31Z"
},
{
"id": 25,
"name": "sat.lab.example.com",
"fullname": "SATLAB",
"dns_id": 8,
"created_at": "2013-08-13T08:32:48Z",
"updated_at": "2013-08-14T07:04:03Z"
},
{
"id": 32,
"name": "hr.lab.example.com",
"fullname": "HR",
"dns_id": 8,
"created_at": "2013-08-16T08:32:48Z",
"updated_at": "2013-08-16T07:04:03Z"
}
]
}応答メタデータフィールド
API 応答は、以下のメタデータフィールドを使用します。
-
total: 検索パラメーターなしのオブジェクトの合計数 -
subtotal: 検索パラメーターを指定して返されたオブジェクト数(検索がない場合には、累計は合計と同じになります)。 -
page: ページ数 -
per_page: ページごとに返す最大オブジェクト数 -
limit: コレクションの応答で返すオブジェクトの指定数 -
offset: コレクションを返す前に省略するオブジェクト数 -
search:scoped_scoped構文をもとにした検索文字列 sort-
by: API がコレクションをソートするフィールド別に指定 -
order: ソート順 (ASC は昇順、DESC は降順)
-
-
results: オブジェクトのコレクション