80 messaggi dal 17 maggio 2011
Ciao a tutti,

Ho preso come abitudine di avere un oggetto standard per la risposta json.

    public class JsonResDTO
    {
        public enum Result { OK, KO }

        public Result Status { get; set; }
        public string Message { get; set; }

        public object Data { get; set; }
    }


Fondamentalmente cerco di incapsulare tutti le return in questo oggetto, eventualmente se ho necessità particolari estendo questo oggetto.

Nel mio controller semplicemente

return Json(new JsonResDTO{ Status = JsonResDTO.Result.OK });

Volevo chiedervi, se può essere una buona abitudine, e voi come gestite di base questa situazione?

Ciao
Paolo
497 messaggi dal 08 febbraio 2009
Ciao

Premesso che ognuno implementa le API come preferisce, personalmente trovo scomodo l'approccio proposto.

In linea di massima HTTP ha già il campo "status code" per definire il tipo di risultato, tanto per fare un po' di esempi:
- 200 -> OK
- 400 -> Bad request
- 500 -> Internal server error


Se ti trovi bene ad avere standard di risposta, usali. Però cerca di non andare in contraddizione agli standard de-facto delle procedure. Potresti creare confusione in chi usa la tua libreria.

Ad esempio, evita il caso in cui una chiamata alle tue API torni come risposta uno status code HTTP 200 (che vuol dire OK) ma poi ci sia uno stato nella tua risposta che dica KO. Sarebbero due valori contrastanti che possono generare confusione.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.