Descrizione dei codici di errore delle APIs sparse spatial map
Formato di risposta
Tutte le risposte API usano un formato JSON uniforme. Di seguito è riportato un esempio:
{
"statusCode": 119,
"msg": "Parameter has errors",
"date": "2022-06-15T09:56:30.000Z",
"result": //result esiste solo quando statusCode e 0; se si verifica un errore, il campo del risultato e vuoto
}
| Campo | Tipo | Descrizione |
|---|---|---|
| statusCode | integer | Codice di stato business. 0 indica successo, diverso da 0 indica errore |
| msg | string | Messaggio |
| result | object | Contenuto restituito. Quando lo status code è 0, risponde con la struttura object della target image; altrimenti è vuoto |
| date | string | Ora del server |
Importante
result include contenuto di risposta solo quando statusCode == 0. Negli altri stati, result è vuoto
Quando statusCode != 0, prestare attenzione al messaggio di errore msg
Categorie di codici di errore
Descrizione HTTP status code
| HTTP status code | Descrizione |
|---|---|
| 200 | Richiesta riuscita (può contenere errori business) |
| 400 | Errore nei parametri della richiesta |
| 401 | Autenticazione APIKey non riuscita |
| 403 | Permessi insufficienti o accesso alla risorsa vietato |
| 404 | Il Path API dell'URL richiesto non esiste |
| 500 | Errore interno del server |
| 502 | Eccezione applicativa catturata, possibile errore dati |
Nota: gli errori business vengono solitamente restituiti tramite una risposta HTTP 200, e il tipo di errore specifico è identificato nel campo statusCode.
Elenco business status code
| Status Code | Message |
|---|---|
| 0 | Success |
| 101 | Uploaded file is empty |
| 102 | File size is too large |
| 106 | Missing parameter or parameter is empty |
| 110 | Call server API errors |
| 111 | Resource not found |
| 401 | Authentication token expired |
| 401 | Authentication parameter is missing |
| 401 | Unknown appId or appKey |
| 401 | Account is locked |
| 401 | Authentication failed, invalid signature or token |
Scenari di errore comuni
Timeout senza risposta
- Request Timeout: la rete è relativamente lenta. Si consiglia di controllare l'ambiente di rete del client
Errori relativi all'autenticazione
- Http 401 Unauthorized: autenticazione APIKey non riuscita. Controllare se appId/appKey sono corretti
- Status code 401: chiave applicazione non valida o applicazione inesistente. Controllare la configurazione dell'applicazione
Errori di parametro
- 400 Bad Request: errore nel formato dei parametri della richiesta
Errori di operazione risorse
- Status code 10x: la risorsa target interrogata non esiste oppure i parametri sono errati
Errori di sistema
- Http 50x Internal Server Error: eccezione interna del server o eccezione applicativa catturata. Si consiglia di testare sul sito web o con un sample
Suggerimenti di best practice
- Gestione client: si consiglia di determinare se l'operazione business è riuscita in base al campo
statusCode, invece di basarsi solo su HTTP status code - Retry degli errori: per errori 5xx si può riprovare in modo appropriato; per errori 4xx occorre controllare i parametri della richiesta
- Registrazione log: si consiglia di registrare la risposta di errore completa per facilitare la risoluzione dei problemi
- Gestione timeout: impostare un tempo di timeout della richiesta ragionevole per evitare lunghe attese