Jak utworzyć metodę z dwoma parametrami za pomocą ASP.NET Web Api?Metoda z dwoma parametrami w asp.net web api
Tak, że mogę nazwać jak localhost/kontroler/param1/param2
Jak utworzyć metodę z dwoma parametrami za pomocą ASP.NET Web Api?Metoda z dwoma parametrami w asp.net web api
Tak, że mogę nazwać jak localhost/kontroler/param1/param2
Wystarczy zmienić lub dodać trasę w global.asax
routes.MapHttpRoute(name: "DefaultApi1", routeTemplate: "api/{controller}/{id}/{name}", Defaults: new{});
Można również zadzwonić url konkretnych nazwisk w params querystring:
/api/actions?param1=5¶m2=1/1/2000
Następnie metoda kontroler będzie:
GetByParams(int param1, DateTime param2)
Myślę, że najprościej jest po prostu użyć AttributeRouting
.
[Route("api/YOURCONTROLLER/{paramOne}/{paramTwo}")]
public string Get(int paramOne, int paramTwo) {
return "The [Route] with multiple params worked";
}
Nazwy {}
muszą odpowiadać twoim parametrom.
To zadziałało dla mnie! Dzięki. –
Mężczyzna Użyłem tego 1000 razy i zawsze myślałem, że to był rodzaj "hack" i jest lepszy sposób. Wygląda na to, że jest to najlepsza praktyka .. – Kadaj
To jest lepsza odpowiedź. Przyjmowana odpowiedź działa, ale adres URL nie ma tyle sensu./id/name działa tak, jak dla adresu URL: http: //www.mysite/api/DoStuff/12345/Vince. To nie ma większego sensu. Podobnie jak "Vince" to jakiś przedmiot z kategorii "12345". http: //www.mysite/api/users/Vince ma dużo więcej sensu lub http: //www.mysite/api/users? name = Vince & id = 12345 – vbullinger
Świetna odpowiedź. Dokładnie to, czego chciałem. –
Czy podasz link do oficjalnych informacji na temat metody GetByParams? Nie udało mi się go zlokalizować. Przetestowałem to jednak i działa tak, jak opisałeś. – galmok