이 절에서는 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, ... }] }
복제 작업이 하나만 지정되면 기본 값이 변경되지 않은 경우에도 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, ... } }