use:
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
он больше не относится к RESTful, но теперь вы можете вызывать свои действия по имени (вместо того, чтобы веб-API автоматически определял его для вас на основе глагола), как это :
[POST] /api/VTRouting/TSPRoute
[POST] /api/VTRouting/Route
Вопреки распространенному мнению, нет ничего плохого в этом подходе, и он не злоупотребляет веб-API. Вы все еще можете использовать все потрясающие функции Web API (делегирование обработчиков, согласование контента, mediatypeformatters и т. Д.) - вы просто останавливаете подход RESTful.