このセクションでは、RESTful API サービスバージョン 2 と RESTful API サービスバージョン 1 の違いについて説明します。
RESTful API バージョン 2 と RESTful API バージョン 1 の両方が同時に使用可能であり、このガイドの残りの部分では、バージョン 1 の例を示します。リクエスト URI のサービスバージョン部分 (v1 または v2) を使用して、使用する REST API バージョンを選択します。
RESTful API バージョン 2 の操作は、常にスクリプト可能な値を返します。スクリプト可能な値には、プロパティーのタイプごとに同一の安定した形式があります。
RESTful API バージョン 1 の操作は、多くの場合、スクリプト可能な値を返しますが、必ずしもそうではありません。たとえば、RESTful API バージョン 1 では、完全な Javascript 日付形式で日時文字列を返す場合と、ISO 8601 日時形式で日時文字列を返す場合があります。RESTful API バージョン 2 では、常に ISO 8601 日時形式の日時文字列を返します。
次の例では、GET /api/system/v1/updates 操作は完全な Javascript 日付形式で日時文字列を返し、GET /api/system/v2/updates 操作は ISO 8601 日時形式で日時文字列を返します。
GET /api/system/v1/updates { "updates": [{ "status": "previous", "href": "/api/system/v1/updates/ak-nas@2013.06.05.4.0,1-1.7", "release_date": "Fri May 01 2015 20:13:00 GMT+0000 (UTC)", "install_date": "Tue Nov 15 2016 01:01:07 GMT+0000 (UTC)", "version": "2013.06.05.4.0,1-1.7", "date": "Fri May 01 2015 20:13:00 GMT+0000 (UTC)" }] } GET /api/system/v2/updates { "updates": [{ "status": "previous", "href": "/api/system/v2/updates/ak-nas@2013.06.05.4.0,1-1.7", "release_date": "2015-05-01T20:13:00Z", "install_date": "2016-11-15T01:01:07Z", "version": "2013.06.05.4.0,1-1.7", "date": "2015-05-01T20:13:00Z" }] }
RESTful API バージョン 1 の操作では、プロパティーへのアクセス方法に応じて、同じプロパティーに対して異なる値が返されることがあります。RESTful API バージョン 2 の操作では、プロパティーへのアクセス方法に関係なく、一貫した値が返されます。
次の例では、すべてのレプリケーションアクションが一覧表示されている場合、max_bandwidth プロパティーの値は -1 として返されます。
GET /api/storage/v1/replication/actions { "actions": [{ "id": "71b1b8b9-9c57-c969-aab9-f96d5f4e5d54", ... "max_bandwidth": -1, ... }] }
レプリケーションアクションが 1 つのみ指定されている場合、基になる値が変更されていなくても、max_bandwidth プロパティーの値は 0 として返されます。
GET /api/storage/v1/replication/actions/71b1b8b9-9c57-c969-aab9-f96d5f4e5d54 { "action": { "id": "71b1b8b9-9c57-c969-aab9-f96d5f4e5d54", ... "max_bandwidth": 0, ... } }
RESTful API バージョン 2 の操作では、特定のプロパティー値へのアクセス方法に関係なく、そのプロパティーに対して常に同じ値を返します。
GET /api/storage/v2/replication/actions { "actions": [{ "id": "71b1b8b9-9c57-c969-aab9-f96d5f4e5d54", ... "max_bandwidth": -1, ... }] } GET /api/storage/v2/replication/actions/71b1b8b9-9c57-c969-aab9-f96d5f4e5d54 { "action": { "id": "71b1b8b9-9c57-c969-aab9-f96d5f4e5d54", ... "max_bandwidth": -1, ... } }