Я пытаюсь создать контроллер WebAPI с несколькими командами Get с помощью метода ActionName. Я успешно сделал это в другом проекте, но у меня возникли проблемы с этим последним проектом, и я не могу понять, почему мой азартный вызов модели нокаута не может найти конкретный URI.ASP.Net WebAPI ActionName Route Not Found
WebApiConfig.cs:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Контроллер:
// GET api/lot
[ActionName("Default")]
public IEnumerable<DataObject> Get()
{
//...
}
// GET api/lot/Specific/5
[ActionName("Specific")]
public IEnumerable<DataObject> Get(int? data)
{
//...
}
// GET api/lot/5
public string Get(int id)
{
return "value";
}
Мои действия по умолчанию для ГЭТ работает идеально, но Специфическое действие продолжает иметь эту ошибку, когда я пытаюсь вызвать его из Вид- модель:
Не удалось загрузить ресурс: сервер ответил статусом 404 (не найдено) «
я добавил [HttpGet] рядом с [ActionName ("Specific")] и имел следующую ошибку:
"ПОЛУЧИТЬ http://localhost:57492/api/lot/Specific/1 404 (Не найдено)"
Я пытался несколько различных вещей, таких как удаление int? data, но затем, когда я пытаюсь построить проект, он говорит мне, что существующая функция с теми же аргументами уже существует, даже с разными именами действий.
В конечном счете, я хотел бы иметь несколько действий Get (parameter), чтобы вызвать взаимодействие с моей моделью просмотра.