En esta sección, se describen las diferencias entre la versión 2 del servicio de la API de RESTful y la versión 1 del servicio de la API de RESTful:
Tanto la versión 2 como la versión 1 de la API de RESTful están disponibles simultáneamente y, en el resto de esta guía, se muestran ejemplos de la versión 1. Utilice la parte de la versión del servicio del URI de solicitud ( v1 o v2 ) para seleccionar la versión de la API de REST que desea utilizar.
Las operaciones de la versión 2 de la API de RESTful siempre devuelven valores programables mediante scripts. Un valor programable tiene el mismo formato estable para cada tipo de propiedad.
Las operaciones de la versión 1 de la API de RESTful a menudo devuelven un valor programable mediante scripts, pero no siempre. Por ejemplo, la versión 1 de la API de RESTful a menudo devuelve cadenas de fecha y hora en formato de fecha de Javascript completo y, a veces, devuelve cadenas de fecha y hora en el formato de fecha y hora de ISO 8601. La versión 2 de la API de RESTful siempre devuelve cadenas de fecha y hora en el formato de fecha y hora de ISO 8601.
En el siguiente ejemplo, la operación GET /api/system/v1/updates devuelve cadenas de fecha y hora en formato de fecha de Javascript completo, y la operación GET /api/system/v2/updates devuelve cadenas de fecha y hora en el formato de fecha y hora de 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" }] }
Las operaciones de la versión 1 de la API de RESTful a veces devuelven valores diferentes para la misma propiedad, según cómo se acceda a la propiedad. Las operaciones de la versión 2 de la API de RESTful devuelven valores coherentes, independientemente de cómo se acceda a la propiedad.
En el siguiente ejemplo, cuando se enumeran todas las acciones de replicación, el valor de la propiedad max_bandwidth se muestra como -1:
GET /api/storage/v1/replication/actions { "actions": [{ "id": "71b1b8b9-9c57-c969-aab9-f96d5f4e5d54", ... "max_bandwidth": -1, ... }] }
Cuando solo se especifica una acción de replicación, el valor de la propiedad max_bandwidth se muestra como 0, aunque no cambie el valor subyacente:
GET /api/storage/v1/replication/actions/71b1b8b9-9c57-c969-aab9-f96d5f4e5d54 { "action": { "id": "71b1b8b9-9c57-c969-aab9-f96d5f4e5d54", ... "max_bandwidth": 0, ... } }
Las operaciones de la versión 2 de la API de RESTful siempre devuelven el mismo valor para una propiedad en particular, independientemente de cómo se acceda a ese valor de propiedad:
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, ... } }