Interprétation d'une réponse API
Chaque requête d'API génère une réponse au client. Vous devez examiner la réponse pour déterminer si elle a réussi et récupérer des données supplémentaires si nécessaire.
Code d'état HTTP
Les codes d'état HTTP utilisés par l'API REST de ONTAP sont décrits ci-dessous.
Code | Phrase de raison | Description |
---|---|---|
200 |
OK |
Indique que les appels qui ne créent pas d'objet ont réussi. |
201 |
Créé |
Un objet a été créé. L'en-tête d'emplacement de la réponse inclut l'identifiant unique de l'objet. |
202 |
Accepté |
Un travail d'arrière-plan a été lancé pour exécuter la demande, mais n'a pas encore été terminé. |
400 |
Demande incorrecte |
L'entrée de la demande n'est pas reconnue ou est inappropriée. |
401 |
Non autorisé |
L'authentification de l'utilisateur a échoué. |
403 |
Interdit |
L'accès est refusé en raison d'une erreur d'autorisation. |
404 |
Introuvable |
La ressource mentionnée dans la demande n'existe pas. |
405 |
Méthode non autorisée |
La méthode HTTP de la requête n'est pas prise en charge pour la ressource. |
409 |
Conflit |
La tentative de création d'un objet a échoué car un objet différent doit d'abord être créé ou l'objet demandé existe déjà. |
500 |
Erreur interne |
Une erreur interne générale s'est produite sur le serveur. |
En-têtes de réponse
Plusieurs en-têtes sont inclus dans la réponse HTTP générée par le ONTAP.
- Emplacement
-
Lorsqu'un objet est créé, l'en-tête d'emplacement inclut l'URL complète du nouvel objet, y compris l'identifiant unique attribué à l'objet.
- Type de contenu
-
Cela sera normalement
application/hal+json
.
Corps de réponse
Le contenu du corps de réponse résultant d'une requête API diffère selon l'objet, le type de traitement et le succès ou l'échec de la requête. La réponse est toujours affichée au format JSON.
-
Objet unique
Un objet peut être renvoyé avec un ensemble de champs en fonction de la requête. Par exemple, vous pouvez utiliser OBTENIR pour extraire les propriétés sélectionnées d'un cluster à l'aide de l'identifiant unique.
-
Objets multiples
Plusieurs objets d'une collection de ressources peuvent être renvoyés. Dans tous les cas, un format cohérent est utilisé avec
num_records
indique le nombre d'enregistrements et d'enregistrements contenant un tableau des instances d'objet. Par exemple, vous pouvez extraire les nœuds définis dans un cluster spécifique. -
Objet travail
Si un appel API est traité de manière asynchrone, un objet travail est renvoyé, qui ancres la tâche d'arrière-plan. Par exemple, la demande DE CORRECTIF utilisée pour mettre à jour la configuration du cluster est traitée de manière asynchrone et renvoie un objet travail.
-
Objet erreur
Si une erreur se produit, un objet erreur est toujours renvoyé. Par exemple, vous recevrez une erreur lors de la tentative de modification d'un champ non défini pour un cluster.
-
Objet JSON vide
Dans certains cas, aucune donnée n'est renvoyée et le corps de réponse inclut un objet JSON vide.
Liaison HAL
L'API REST de ONTAP utilise HAL comme mécanisme pour prendre en charge Hypermedia comme moteur d'état d'application (HATEOEA). Lorsqu'un objet ou un attribut est renvoyé qui identifie une ressource spécifique, un lien encodé HAL est également inclus, ce qui vous permet de localiser et de déterminer facilement des détails supplémentaires sur la ressource.
Erreurs
Si une erreur se produit, un objet d'erreur est renvoyé dans le corps de réponse.
- Format
-
Un objet d'erreur a le format suivant :
"error": { "message": "<string>", "code": <integer>[, "target": "<string>"] }
Vous pouvez utiliser la valeur de code pour déterminer le type ou la catégorie d'erreur générale, et le message pour déterminer l'erreur spécifique. Lorsqu'il est disponible, le champ cible inclut l'entrée utilisateur spécifique associée à l'erreur.
- Codes d'erreur courants
-
Les codes d'erreur courants sont décrits dans le tableau suivant. Certains appels API peuvent inclure des codes d'erreur supplémentaires.
Code Description 1
409
Un objet ayant le même identifiant existe déjà.
2
400
La valeur d'un champ n'est pas valide ou est manquante ou un champ supplémentaire a été fourni.
3
400
L'opération n'est pas prise en charge.
4
405
Impossible de trouver un objet avec l'identificateur spécifié.
6
403
L'autorisation d'effectuer la demande est refusée.
8
409
La ressource est en cours d'utilisation.