Interpretation einer API-Antwort
Jede API-Anfrage generiert eine Antwort an den Client. Sie sollten die Antwort überprüfen, um festzustellen, ob sie erfolgreich war, und weitere Daten nach Bedarf abrufen.
HTTP-Statuscode
Im Folgenden werden die von der ONTAP REST API verwendeten HTTP-Statuscodes beschrieben.
Codieren | Grundsatz | Beschreibung |
---|---|---|
200 |
OK |
Zeigt Erfolg für Anrufe an, die kein neues Objekt erstellen. |
201 |
Erstellt |
Ein Objekt wurde erfolgreich erstellt. Der Positionskopf in der Antwort enthält die eindeutige Kennung für das Objekt. |
202 |
Akzeptiert |
Ein Hintergrundjob wurde gestartet, um die Anforderung auszuführen, ist aber noch nicht abgeschlossen. |
400 |
Schlechte Anfrage |
Die Eingabe der Anfrage ist nicht erkannt oder nicht angemessen. |
401 |
Nicht Autorisiert |
Benutzerauthentifizierung fehlgeschlagen. |
403 |
Verboten |
Der Zugriff wird aufgrund eines Autorisierungsfehlers verweigert. |
404 |
Nicht gefunden |
Die Ressource, auf die in diesem Antrag verwiesen wird, ist nicht vorhanden. |
405 |
Methode nicht zulässig |
Die HTTP-Methode in der Anforderung wird für die Ressource nicht unterstützt. |
409 |
Konflikt |
Der Versuch, ein Objekt zu erstellen, ist fehlgeschlagen, weil zunächst ein anderes Objekt erstellt werden muss oder das angeforderte Objekt bereits vorhanden ist. |
500 |
Interner Fehler |
Ein allgemeiner interner Fehler ist auf dem Server aufgetreten. |
Antwortkopfzeilen
In der vom ONTAP erzeugten HTTP-Antwort sind mehrere Header enthalten.
- Standort
-
Wenn ein Objekt erstellt wird, enthält die Standortkopfzeile die komplette URL zum neuen Objekt einschließlich der eindeutigen Kennung, die dem Objekt zugewiesen ist.
- Inhaltstyp
-
Dies ist normalerweise der Fall
application/hal+json
.
Antwortkörper
Der Inhalt des Antwortkörpers, der sich aus einer API-Anfrage ergibt, unterscheidet sich je nach Objekt, Verarbeitungstyp und Erfolg oder Misserfolg der Anforderung. Die Antwort wird immer in JSON gerendert.
-
Einzelnes Objekt
Je nach Anforderung kann ein einzelnes Objekt mit einer Reihe von Feldern zurückgegeben werden. Beispielsweise können Sie GET verwenden, um ausgewählte Eigenschaften eines Clusters mit der eindeutigen Kennung abzurufen.
-
Mehrere Objekte
Es können mehrere Objekte aus einer Ressourcensammlung zurückgegeben werden. In allen Fällen wird ein konsistentes Format verwendet, mit
num_records
Angabe der Anzahl der Datensätze und Datensätze, die ein Array der Objektinstanzen enthalten. Beispielsweise können Sie die in einem bestimmten Cluster definierten Nodes abrufen. -
Jobobjekt
Wenn ein API-Aufruf asynchron verarbeitet wird, wird ein Job-Objekt zurückgegeben, das den Hintergrund-Task ankers. Beispielsweise wird die PATCH-Anfrage, die zum Aktualisieren der Cluster-Konfiguration verwendet wird, asynchron verarbeitet und ein Job-Objekt zurückgegeben.
-
Fehlerobjekt
Wenn ein Fehler auftritt, wird immer ein Fehlerobjekt zurückgegeben. Beispielsweise erhalten Sie einen Fehler beim Versuch, ein Feld zu ändern, das nicht für ein Cluster definiert ist.
-
Leeres JSON-Objekt
In bestimmten Fällen werden keine Daten zurückgegeben und der Antwortkörper enthält ein leeres JSON-Objekt.
HAL-Verknüpfung
Die ONTAP-REST-API verwendet HAL als Mechanismus zur Unterstützung von Hypermedia als Engine of Application State (HATEOAS). Wenn ein Objekt oder Attribut zurückgegeben wird, das eine bestimmte Ressource identifiziert, wird auch ein HAL-codierter Link enthalten, mit dem Sie einfach weitere Details über die Ressource finden und ermitteln können.
Fehler
Wenn ein Fehler auftritt, wird ein Fehlerobjekt im Antwortkörper zurückgegeben.
- Formatieren
-
Ein Fehlerobjekt hat das folgende Format:
"error": { "message": "<string>", "code": <integer>[, "target": "<string>"] }
Sie können den Codewert verwenden, um den allgemeinen Fehlertyp oder die allgemeine Fehlerkategorie zu bestimmen, und die Meldung, um den spezifischen Fehler zu ermitteln. Wenn verfügbar, enthält das Zielfeld die spezifische Benutzereingabe, die mit dem Fehler verknüpft ist.
- Allgemeine Fehlercodes
-
Die gängigen Fehlercodes werden in der folgenden Tabelle beschrieben. Spezifische API-Aufrufe können zusätzliche Fehlercodes enthalten.
Codieren Beschreibung 1
409
Ein Objekt mit derselben Kennung ist bereits vorhanden.
2
400
Der Wert für ein Feld hat einen ungültigen Wert oder fehlt oder es wurde ein zusätzliches Feld angegeben.
3
400
Der Vorgang wird nicht unterstützt.
4
405
Ein Objekt mit der angegebenen Kennung wurde nicht gefunden.
6
403
Die Berechtigung zur Durchführung der Anforderung wird verweigert.
8
409
Die Ressource wird verwendet.