Как создать метод с двумя параметрами с помощью ASP.NET Web Api?Метод с двумя параметрами в asp.net web api
Так что я могу назвать это как локальный хост/контроллер/param1/param2
Как создать метод с двумя параметрами с помощью ASP.NET Web Api?Метод с двумя параметрами в asp.net web api
Так что я могу назвать это как локальный хост/контроллер/param1/param2
Просто добавить или изменить маршрут в global.asax
routes.MapHttpRoute(name: "DefaultApi1", routeTemplate: "api/{controller}/{id}/{name}", Defaults: new{});
Вы также можете вызвать URL с конкретными именами Params в Строка запроса:
/api/actions?param1=5¶m2=1/1/2000
Тогда метод контроллера будет:
GetByParams(int param1, DateTime param2)
Я думаю, что самый простой способ - просто использовать AttributeRouting
.
[Route("api/YOURCONTROLLER/{paramOne}/{paramTwo}")]
public string Get(int paramOne, int paramTwo) {
return "The [Route] with multiple params worked";
}
Названия {}
должны соответствовать вашим параметрам.
Это сработало для меня! Благодарю. –
Человек, который я использовал это 1000 раз, и всегда думал, что это своего рода «взломать», и есть лучший способ. Похоже, это на самом деле лучшая практика. – Kadaj
Это лучший ответ. Принятый ответ работает, но URL-адрес не имеет особого смысла./id/name работает примерно так: URL: http: //www.mysite/api/DoStuff/12345/Vince. Это не имеет большого смысла. Подобно «Винс», есть элемент в категории «12345». http: //www.mysite/api/users/Vince делает гораздо больше смысла или http: //www.mysite/api/users? name = Vince & id = 12345 – vbullinger
Отличный ответ. Именно то, что я хотел. –
Coul вы предоставляете ссылку на официальную информацию о методе GetByParams? Я не смог найти его. Однако я протестировал его, и он работает, как вы описали. – galmok