Po prostu szukam informacji zwrotnej na temat najlepszych praktyk dotyczących projektowania interfejsu Web Service.Interfejs usługi WWW - typ złożony jako parametr?
że dwie opcje:
Option 1
public string GetSomeData(SomeCriteriaClass criteria);
gdzie SomeCriteriaClass jest zdefiniowany jako:
public int ID;
public string Name;
public string Property2; etc.
Wariant 2
public string GetSomeData(int id, string name, string property2)
Która opcja jest preferowana? Wygląda to na konflikt wzorców projektowych - 1 polega na zawijaniu parametrów w klasie, ale drugim jest utrzymanie elastyczności i otwartości interfejsu usługi WWW.
Drugie pytanie brzmi - jeśli wybierzemy opcję 1 - jak nazwać to za pomocą adresu URL?
Dzięki
Dlaczego mówisz, że opcja 2 "utrzymuje interfejs usługi internetowej elastycznie i otwarcie"? Oznacza to, że jakakolwiek zmiana parametrów danych wpłynęłaby na deklarację API, podczas gdy w opcji 1 miałaby ona wpływ tylko na deklarację "klasy parametrów" (i oczywiście kod wywołujący). –
Przepraszam, to absolutnie słuszne, zamiast elastycznego i otwartego, które powinno brzmieć "widoczne i proste". Nie jestem pewien, jak nazwałbyś usługę sieciową przechodząc w złożonym typie za pośrednictwem adresu URL - więc to wpłynęło na mnie nieznacznie. Czy są wady, czy jest to bardziej skomplikowane? – Duncan