Je suis à la recherche de commentaires sur les meilleures pratiques en matière de conception d'interface de service Web.Interface de service Web - Type complexe en tant que paramètre?
J'ai deux options:
Option 1
public string GetSomeData(SomeCriteriaClass criteria);
où SomeCriteriaClass est défini comme:
public int ID;
public string Name;
public string Property2; etc.
Option 2
public string GetSomeData(int id, string name, string property2)
Quelle est l'option préférée? Cela ressemble à un conflit de modèles de conception - 1 consiste à conclure des paramètres dans une classe, mais l'autre maintient l'interface de service Web flexible et ouverte.
La deuxième question est - si nous choisissons Option1 - comment appelez-vous cela via une URL?
Merci
Pourquoi dites-vous l'option 2 "maintient l'interface de service Web flexible et ouvert"? Cela signifie que toute modification des paramètres de données affecterait la déclaration de l'API, alors que dans l'option 1, elle affecterait uniquement la déclaration "parameter class" (et le code appelant, bien sûr). –
Désolé, c'est tout à fait vrai, au lieu de flexible et ouvert qui aurait dû lire "visible et direct". Je ne sais pas comment vous appelez un service Web passant dans un type complexe via une URL - ce qui m'a légèrement influencé. Y a-t-il des inconvénients, cela le rend-il plus complexe? – Duncan