Ho un'API Web e sto pensando se sia una buona idea avvolgere sempre il risultato con un mio modello di risultato che conterrà sempre una struttura specifica come:
{
Data:(of type T generic),
Messages:[
{Key:"Key1",Messages:["Msg1","Msg2","Msg3"]},
{Key:"Key2",Messages:["Msg1","Msg2","Msg3"]},
],
MetaData:[
{Key:"",Value:"" },
{Key:"",Value:"" }
]
}
Quindi vedo che questo modello è adatto a tutte le situazioni, ad esempio:
- Voglio restituire il successo 20x solo con i dati, riempio solo Dati solo proprietà e lascia vuoti gli altri.
- Se voglio restituire lo stato di errore con alcuni messaggi (dallo stato del modello o da qualsiasi altro), riempio solo Messaggi .
Quindi restituisco sempre il mio modello.
È considerato una buona pratica o dovrei restituire un modello diverso a seconda dello stato (successo o fallimento).
Grazie
Aggiornamento 1:
I codici di stato verranno comunque utilizzati per determinare se i messaggi all'interno del modello sono messaggi di errore o solo avvisi o forse informazioni, cosa sono Chiedo qui di abbandonare l'uso dei Codici di stato ma:
is it a best practice to use unified model in all my responses, maybe some times I need to response as BadRequest with data returned with the messages.