У меня есть конфигурация маршрута, которая нацелена на определенный контроллер со значениями по умолчанию. Контроллер не имеет никаких параметров ни для одного из методов действия, но метод действия вызывается только когда я передаю дополнительный путь, т. Е. Мой контроллер - Календарь, а метод действия - GetCalendarDays. Я ожидал, что он будет вызываться для API/calendar/GetCalendarDays
, но он вызывается только тогда, когда я пытаюсь API/calendar/GetCalendarDays/X
Я пробовал разные комбинации для конфигурации маршрута, но ничего не получалось. Я не хочу использовать атрибуты Route, потому что я пытаюсь заменить текущую проблему
Я пробовал несколько решений, которые я нашел здесь, но ничто не помогает
public class CalendarController : ApiController
{
public IEnumerable<CalendarMonth> GetCalendarMonths()
{
return CalendarHelper.GetCalendarMonths();
}
public dynamic GetCalendarDays()
{
return CalendarHelper.GetCalendarDays();
}
}
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "defaultCalendar",
routeTemplate: "api/{controller}/{action}",
defaults: new { controller = "Calendar"}
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
//routeTemplate: "api/{controller}/{id}",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);