Solo in cerca di feedback sulle best practice relative alla progettazione dell'interfaccia Web Service.Interfaccia servizio Web - Tipo complesso come parametro?
ho due opzioni:
Opzione 1
public string GetSomeData(SomeCriteriaClass criteria);
dove SomeCriteriaClass è definito come:
public int ID;
public string Name;
public string Property2; etc.
Opzione 2
public string GetSomeData(int id, string name, string property2)
Qual è l'opzione preferita? Sembra un conflitto di schemi di progettazione: 1 è quello di racchiudere i parametri in una classe, mentre l'altro è mantenere l'interfaccia del servizio Web flessibile e aperta.
La seconda domanda è: se scegliamo Opzione1, come si chiama tramite un URL?
Grazie
Perché dici che l'opzione 2 "mantiene l'interfaccia del servizio Web flessibile e aperta"? Significa che qualsiasi modifica ai parametri dei dati influirebbe sulla dichiarazione dell'API, mentre nell'opzione 1 interesserebbe solo la dichiarazione "classe parametro" (e ovviamente il codice chiamante). –
Scusate, è assolutamente giusto, invece di flessibile e aperto che dovrebbe avere letto "visibile e diretto". Non sono sicuro di come chiameresti un servizio Web che passa in un tipo complesso tramite un URL, quindi questo mi ha influenzato leggermente. Ci sono degli svantaggi, lo rende più complesso? – Duncan