Interpretation einer API-Antwort
Jede API-Anfrage generiert eine Antwort an den Client. Sie sollten die Antwort prüfen, um festzustellen, ob sie erfolgreich war, und bei Bedarf weitere Daten abrufen.
HTTP-Statuscode
Die von der SnapCenter REST-API verwendeten HTTP-Statuscodes werden unten beschrieben.
Code | Beschreibung |
---|---|
200 |
OK: Zeigt den Erfolg von Aufrufen an, die kein neues Objekt erstellen. |
201 |
Erstellt. Ein Objekt wurde erfolgreich erstellt. Der Standortheader in der Antwort enthält die eindeutige Kennung für das Objekt. |
202 |
Akzeptiert. Ein Hintergrundjob wurde gestartet, um die Anfrage auszuführen, ist aber noch nicht abgeschlossen. |
400 |
Ungültige Anfrage. Die Anfrageeingabe wird nicht erkannt oder ist ungeeignet. |
401 |
Die Authentifizierung des nicht autorisierten Benutzers ist fehlgeschlagen. |
403 |
Der Zugriff wurde aufgrund eines Autorisierungsfehlers (RBAC) verweigert. |
404 |
Nicht gefunden. Die in der Anfrage genannte Ressource existiert nicht. |
405 |
Methode nicht zulässig. Die HTTP-Methode in der Anforderung wird für die Ressource nicht unterstützt. |
409 |
Konflikt: Ein Versuch, ein Objekt zu erstellen, ist fehlgeschlagen, weil zuerst ein anderes Objekt erstellt werden muss oder das angeforderte Objekt bereits vorhanden ist. |
500 |
Interner Fehler. Auf dem Server ist ein allgemeiner interner Fehler aufgetreten. |
Antwortheader
Die vom SnapCenter generierte HTTP-Antwort enthält mehrere Header.
Standort
Wenn ein Objekt erstellt wird, enthält der Standortheader die vollständige URL zum neuen Objekt, einschließlich der dem Objekt zugewiesenen eindeutigen Kennung.
Inhaltstyp
Dies wird normalerweise application/json
.
Antworttext
Der Inhalt des Antworttexts einer API-Anforderung unterscheidet sich je nach Objekt, Verarbeitungstyp und Erfolg oder Misserfolg der Anforderung. Die Antwort wird immer in JSON gerendert.
Einzelnes Objekt
Basierend auf der Anfrage kann ein einzelnes Objekt mit einer Reihe von Feldern zurückgegeben werden. Beispielsweise können Sie GET verwenden, um ausgewählte Eigenschaften eines Clusters mithilfe der eindeutigen Kennung abzurufen.
Mehrere Objekte
Es können mehrere Objekte aus einer Ressourcensammlung zurückgegeben werden. In allen Fällen wird ein einheitliches Format verwendet, mit num_records
Gibt die Anzahl der Datensätze und Datensätze an, die ein Array der Objektinstanzen enthalten. Sie können beispielsweise die in einem bestimmten Cluster definierten Knoten abrufen.
Job-Objekt
Wenn ein API-Aufruf asynchron verarbeitet wird, wird ein Job-Objekt zurückgegeben, das die Hintergrundaufgabe verankert. Beispielsweise wird die PATCH-Anforderung zum Aktualisieren der Clusterkonfiguration asynchron verarbeitet und gibt ein Job-Objekt zurück.
Fehlerobjekt
Wenn ein Fehler auftritt, wird immer ein Error-Objekt zurückgegeben. Beispielsweise erhalten Sie eine Fehlermeldung, wenn Sie versuchen, ein Feld zu ändern, das für einen Cluster nicht definiert ist.
Leer
In bestimmten Fällen werden keine Daten zurückgegeben und der Antworttext enthält ein leeres JSON-Objekt.
Fehler
Wenn ein Fehler auftritt, wird im Antworttext ein Fehlerobjekt zurückgegeben.
Format
Ein Fehlerobjekt hat das folgende Format:
"error": { "message": "<string>", "code": <integer>[, "target": "<string>"] }
Mithilfe des Codewerts können Sie den allgemeinen Fehlertyp oder die Kategorie bestimmen und anhand der Meldung den spezifischen Fehler ermitteln. Sofern verfügbar, enthält das Zielfeld die spezifische Benutzereingabe, die mit dem Fehler verknüpft ist.
Häufige Fehlercodes
Die häufigsten Fehlercodes werden in der folgenden Tabelle beschrieben. Bestimmte API-Aufrufe können zusätzliche Fehlercodes enthalten.
Code | Beschreibung |
---|---|
409 |
Ein Objekt mit derselben Kennung ist bereits vorhanden. |
400 |
Der Wert für ein Feld hat einen ungültigen Wert oder fehlt, oder es wurde ein zusätzliches Feld bereitgestellt. |
400 |
Der Vorgang wird nicht unterstützt. |
405 |
Ein Objekt mit der angegebenen Kennung kann nicht gefunden werden. |
403 |
Die Berechtigung zur Ausführung der Anfrage wird verweigert. |
409 |
Die Ressource wird verwendet. |