Comment faire une méthode avec deux paramètres en utilisant ASP.NET Web Api? Les nomsMéthode avec deux paramètres dans asp.net web api
Alors que je peux l'appeler comme localhost/contrôleur/param1/param2
Comment faire une méthode avec deux paramètres en utilisant ASP.NET Web Api? Les nomsMéthode avec deux paramètres dans asp.net web api
Alors que je peux l'appeler comme localhost/contrôleur/param1/param2
Il suffit de changer ou d'ajouter la route dans global.asax
routes.MapHttpRoute(name: "DefaultApi1", routeTemplate: "api/{controller}/{id}/{name}", Defaults: new{});
Vous pouvez également appeler l'URL avec params spécifiques dans le querystring:
/api/actions?param1=5¶m2=1/1/2000
Ensuite, la méthode du contrôleur serait:
GetByParams(int param1, DateTime param2)
Je pense que la façon la plus simple est d'utiliser simplement AttributeRouting
. Les noms {}
doivent correspondre à vos paramètres.
Ça a marché pour moi! Merci. –
Homme Je l'ai utilisé 1000 fois, et j'ai toujours pensé que c'était un peu un "hack" et il y a un meilleur moyen. On dirait que c'est en fait la meilleure pratique .. – Kadaj
Ceci est la meilleure réponse. La réponse acceptée fonctionne, mais l'URL n'a pas beaucoup de sens./id/name correspond à quelque chose comme ça pour une URL: http: //www.mysite/api/DoStuff/12345/Vince. Cela n'a pas beaucoup de sens. Comme "Vince" est un élément de la catégorie "12345". http: //www.mysite/api/users/Vince fait beaucoup plus de sens ou http: //www.mysite/api/users? name = Vince & id = 12345 – vbullinger
Grande réponse. Exactement ce que je voulais. –
Coul vous fournissez un lien vers les détails officiels sur la méthode GetByParams? Je n'ai pas été capable de le localiser. Je l'ai testé, cependant, et cela fonctionne comme vous l'avez décrit. – galmok