Ho un'app mobile e un'API. L'app per dispositivi mobili è configurata per l'attesa di un DTO dall'API, ma non ha informazioni se la richiesta non è andata a buon fine. Questo deve essere aggiornato in modo che all'utente venga visualizzato un messaggio migliore. Devo aggiornare l'API e l'app per dispositivi mobili in modo da poter inviare a DTO su una richiesta riuscita o un messaggio che contiene più dettagli di un messaggio di errore generico.
Ho iniziato a modificare i tipi di ritorno API in IHttpActionResult
in modo da poter passare i dati AND del codice di stato HTTP.
Il mio primo pensiero è creare un wrapper di richiesta che abbia un messaggio di errore e un oggetto dati generico.
public class ResponseWrapper
{
public bool IsSuccess{get; set;}
public string ErrorMsg {get; set;}
public Object Data {get; set;}
}
Posso quindi controllare il flag IsSuccess
e procedere di conseguenza.
Ho anche pensato di impiantare codici di errore o di utilizzare codici di stato HTTP personalizzati. Ma sento che questo aggiunge complessità con il mantenimento dei codici e messaggi associati. Con questa complessità aggiunta precauzionata, questa non sembra la soluzione migliore.
Esiste una soluzione migliore o una pratica standard per l'acquisizione di un DTO o un messaggio di errore nella stessa risposta API?