Solo estoy buscando comentarios sobre las mejores prácticas relacionadas con el diseño de la interfaz del servicio web.Interfaz del servicio web - Tipo complejo como parámetro?
I tiene dos opciones:
Opción 1
public string GetSomeData(SomeCriteriaClass criteria);
donde SomeCriteriaClass se define como:
public int ID;
public string Name;
public string Property2; etc.
Opción 2
public string GetSomeData(int id, string name, string property2)
¿Cuál es la opción preferida? Parece que hay un conflicto de patrones de diseño: 1 es para envolver los parámetros en una clase, pero el otro es mantener la interfaz del servicio web flexible y abierta.
La segunda pregunta es - si elegimos la Opción 1 - ¿cómo se llama esto a través de una URL?
Gracias
¿Por qué dices que la opción 2 "mantiene flexible y abierta la interfaz del servicio web"? Significa que cualquier cambio en los parámetros de datos afectaría la declaración de la API, mientras que en la opción 1 solo afectaría la declaración de "clase de parámetro" (y el código de llamada, por supuesto). –
Lo sentimos, es correcto, en lugar de flexible y abierto, que debería haber sido "visible y directo". No estoy seguro de cómo llamaría a un servicio web que pasa un tipo complejo a través de una URL, así que eso me ha influenciado un poco. ¿Hay inconvenientes, lo hace más complejo? – Duncan