У меня есть эта интересная ситуация, когда у меня есть baseController для webApi и отследил проблему до этого. Если у меня есть базовый контроллер, который имеет входной параметр типа объекта он будет в конечном итоге с HTTP 500 нескольких действий, где найдены ...Параметр ввода BaseController Объект результаты Несколько действий были найдены, которые соответствуют запросу
И это в по умолчанию пустой MVC 4.0 проект против 2012 с использованием IISExpress
public class BaseSecureApi : ApiController
{
public string Wtf(object ohMyGodThisIsSilly)
{
return null;
}
}
И контроллер
public class Default1Controller : BaseSecureApi
{
// GET api/default1
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// POST api/default1
[HttpPost]
public string Post([FromBody]string value)
{
return "Postmyvalue:" + value;
}
}
И маршрут
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Теперь почему маршрутизация идет с трудом. IRL базовый класс возвращает httpResponse на основании того, кто входит в систему, и если результат должен быть зашифрован или нет.
Я попытался воспроизвести, используя опубликованный код, но я не получаю результат. Я получаю тот же результат, если я переименую метод Wtf в GetWtf. –
В какой среде вы используете @ OlavNybø? Просто проверил мой тестовый проект, и он сработает. – Archlight
Я получаю те же результаты, что и при публикации, сначала я попробовал получить. –