Sto costruendo un servizio web che restituisce JSON / XML / SOAP al momento .. e non sono del tutto sicuro di quale sia l'approccio migliore per restituire i risultati.
Il Cliente che consuma i Servizi sarà generalmente Applicazioni Web / Applicazioni Web mobili. Ma potrebbe provenire da vari sistemi di tipo WordPress e altri social media Plugin.
Quale sarebbe un valore di ritorno migliore?
Una struttura di tipo "trasferimento" generica, che trasporta proprietà generiche o un tipo proposto con proprietà distinte:
class GenericTransferObject{
public string returnVal;
public string returnType;
}
VS
class PurposedTransferObject_1{
public string Property1;
}
//and then building additional "types" for additional values
class PurposedTransferObject_2 {
public string PropertyA;
public string PropertyB;
}
Ora, questo sarebbe il serializzato e restituito da una chiamata al servizio web tramite una tecnologia client, JQuery in questo esempio. SO se ho chiamato:
/ GetDaysInWeek /
Vorrei tornare indietro:
{"returnType": "DaysInWeek", "returnVal": "365" }
o
{"DaysInWeek": "365"}
E poi andrebbe da lì.
Da un lato c'è flessibilità con il primo esempio. Posso aggiungere "returnTypes" senza dover aggiustare il client se non facendo riferimento a un ulteriore "indice" ..
ma se dovessi aggiungere una proprietà, ora sto cambiando la definizione di una struttura ..
C'è una scelta ovvia in questa situazione?