Interpretare una risposta dell'API REST ONTAP
Ogni richiesta API genera una risposta al client. È necessario esaminare la risposta per determinare se è stata eseguita correttamente e recuperare dati aggiuntivi in base alle necessità.
Codice di stato HTTP
I codici di stato HTTP utilizzati dall'API REST ONTAP sono descritti di seguito.
Codice | Frase di motivazione | Descrizione |
---|---|---|
200 |
OK |
Indica che le chiamate che non creano un nuovo oggetto sono riuscite. |
201 |
Creato |
Creazione di un oggetto riuscita. L'intestazione della posizione nella risposta include l'identificatore univoco dell'oggetto. |
202 |
Accettato |
Un lavoro in background è stato avviato per eseguire la richiesta, ma non è stato ancora completato. |
400 |
Richiesta errata |
L'input della richiesta non viene riconosciuto o non è appropriato. |
401 |
Non autorizzato |
Autenticazione dell'utente non riuscita. |
403 |
Vietato |
Accesso negato a causa di un errore di autorizzazione. |
404 |
Non trovato |
La risorsa a cui si fa riferimento nella richiesta non esiste. |
405 |
Metodo non consentito |
Il metodo HTTP nella richiesta non è supportato per la risorsa. |
409 |
Conflitto |
Un tentativo di creazione di un oggetto non è riuscito perché è necessario creare prima un oggetto diverso oppure l'oggetto richiesto esiste già. |
500 |
Errore interno |
Si è verificato un errore interno generale nel server. |
Intestazioni delle risposte
Nella risposta HTTP generata da ONTAP sono incluse diverse intestazioni.
- Posizione
-
Quando viene creato un oggetto, l'intestazione di posizione include l'URL completo del nuovo oggetto, incluso l'identificatore univoco assegnato all'oggetto.
- Tipo di contenuto
-
Questo normalmente sarà
application/hal+json
.
Corpo di risposta
Il contenuto del corpo di risposta risultante da una richiesta API varia in base all'oggetto, al tipo di elaborazione e al successo o all'errore della richiesta. Il rendering della risposta viene sempre eseguito in JSON.
-
Oggetto singolo
È possibile restituire un singolo oggetto con un set di campi in base alla richiesta. AD esempio, È possibile utilizzare GET per recuperare le proprietà selezionate di un cluster utilizzando l'identificatore univoco.
-
Oggetti multipli
È possibile restituire più oggetti di una raccolta di risorse. In tutti i casi, viene utilizzato un formato coerente, con
num_records
indica il numero di record e record che contengono una matrice delle istanze dell'oggetto. Ad esempio, è possibile recuperare i nodi definiti in un cluster specifico. -
Oggetto lavoro
Se una chiamata API viene elaborata in modo asincrono, viene restituito un oggetto Job che ancora l'attività in background. Ad esempio, la richiesta DI PATCH utilizzata per aggiornare la configurazione del cluster viene elaborata in modo asincrono e restituisce un oggetto Job.
-
Oggetto di errore
Se si verifica un errore, viene sempre restituito un oggetto Error. Ad esempio, si riceve un errore quando si tenta di modificare un campo non definito per un cluster.
-
Oggetto JSON vuoto
In alcuni casi, non viene restituito alcun dato e il corpo della risposta include un oggetto JSON vuoto.
Collegamento HAL
L'API REST di ONTAP utilizza HAL come meccanismo per supportare Hypermedia come motore di stato dell'applicazione (HATEOAS). Quando viene restituito un oggetto o un attributo che identifica una risorsa specifica, viene incluso anche un collegamento con codifica HAL che consente di individuare e determinare facilmente ulteriori dettagli sulla risorsa.
Errori
Se si verifica un errore, viene restituito un oggetto di errore nel corpo della risposta.
- Formato
-
Un oggetto di errore ha il seguente formato:
"error": { "message": "<string>", "code": <integer>[, "target": "<string>"] }
È possibile utilizzare il valore del codice per determinare il tipo o la categoria di errore generale e il messaggio per determinare l'errore specifico. Se disponibile, il campo di destinazione include l'input utente specifico associato all'errore.
- Codici di errore comuni
-
I codici di errore più comuni sono descritti nella seguente tabella. Le chiamate API specifiche possono includere codici di errore aggiuntivi.
Codice Descrizione 1
409
Esiste già un oggetto con lo stesso identificatore.
2
400
Il valore di un campo ha un valore non valido o manca oppure è stato fornito un campo aggiuntivo.
3
400
L'operazione non è supportata.
4
405
Impossibile trovare un oggetto con l'identificatore specificato.
6
403
L'autorizzazione per eseguire la richiesta viene negata.
8
409
La risorsa è in uso.