Interpretar una respuesta API
Cada solicitud de API genera una respuesta al cliente. Debe examinar la respuesta para determinar si ha tenido éxito y recuperar datos adicionales según sea necesario.
Código de estado HTTP
A continuación se describen los códigos de estado HTTP utilizados por la API DE REST de ONTAP.
Codificación | Frase de motivo | Descripción |
---|---|---|
200 |
DE ACUERDO |
Indica que las llamadas que no crean un objeto nuevo se han realizado correctamente. |
201 |
Creado |
Se ha creado correctamente un objeto. El encabezado de ubicación de la respuesta incluye el identificador único del objeto. |
202 |
Aceptado |
Se ha iniciado un trabajo en segundo plano para realizar la solicitud, pero aún no se ha completado. |
400 |
Solicitud incorrecta |
La entrada de la solicitud no se reconoce o no es apropiada. |
401 |
No autorizado |
Error en la autenticación del usuario. |
403 |
Prohibido |
Se deniega el acceso debido a un error de autorización. |
404 |
No encontrado |
El recurso al que se hace referencia en la solicitud no existe. |
405 |
Método no permitido |
El método HTTP de la solicitud no es compatible con el recurso. |
409 |
Conflicto |
Se ha producido un error al intentar crear un objeto porque primero se debe crear otro objeto o ya existe el objeto solicitado. |
500 |
Error interno |
Se ha producido un error interno general en el servidor. |
Encabezados de respuesta
Se incluyen varios encabezados en la respuesta HTTP generada por ONTAP.
- Ubicación
-
Cuando se crea un objeto, el encabezado de ubicación incluye la dirección URL completa del nuevo objeto, incluido el identificador único asignado al objeto.
- Tipo de contenido
-
Esto será normalmente
application/hal+json
.
Cuerpo de respuesta
El contenido del cuerpo de respuesta que resulta de una solicitud API varía en función del objeto, el tipo de procesamiento y el éxito o el fallo de la solicitud. La respuesta siempre se representa en JSON.
-
Un solo objeto
Un solo objeto se puede devolver con un conjunto de campos basados en la solicitud. Por ejemplo, se puede usar GET para recuperar las propiedades seleccionadas de un clúster mediante el identificador único.
-
Varios objetos
Se pueden devolver varios objetos de una colección de recursos. En todos los casos, existe un formato coherente utilizado, con
num_records
indica el número de registros y registros que contienen una matriz de las instancias de objeto. Por ejemplo, puede recuperar los nodos definidos en un clúster específico. -
Objeto de trabajo
Si una llamada API se procesa de forma asíncrona, se devuelve un objeto Job que ancla la tarea en segundo plano. Por ejemplo, la solicitud DE REVISIÓN utilizada para actualizar la configuración del clúster se procesa de forma asíncrona y devuelve un objeto Job.
-
Objeto de error
Si se produce un error, siempre se devuelve un objeto error. Por ejemplo, recibirá un error al intentar cambiar un campo no definido para un clúster.
-
Objeto JSON vacío
En ciertos casos, no se devuelven datos y el cuerpo de respuesta incluye un objeto JSON vacío.
Ligando HAL
La API REST de ONTAP usa HAL como mecanismo para apoyar a Hypermedia como Motor de aplicación Estado (HATEOAS). Cuando se devuelve un objeto o atributo que identifica un recurso específico, también se incluye un vínculo codificado con HAL que permite localizar y determinar fácilmente detalles adicionales sobre el recurso.
Errores
Si se produce un error, se devuelve un objeto de error en el cuerpo de respuesta.
- Formato
-
Un objeto de error tiene el siguiente formato:
"error": { "message": "<string>", "code": <integer>[, "target": "<string>"] }
Puede utilizar el valor del código para determinar el tipo o la categoría de error general y el mensaje para determinar el error específico. Si está disponible, el campo de destino incluye la entrada de usuario específica asociada al error.
- códigos de error comunes
-
Los códigos de error comunes se describen en la siguiente tabla. Las llamadas API específicas pueden incluir códigos de error adicionales.
Codificación Descripción 1
409
Ya existe un objeto con el mismo identificador.
2
400
El valor de un campo no es válido o falta, o se ha proporcionado un campo adicional.
3
400
La operación no es compatible.
4
405
No se puede encontrar un objeto con el identificador especificado.
6
403
Se deniega el permiso para realizar la solicitud.
8
409
El recurso está en uso.