Я знаю, что была тонна этих вопросов, но я не могу понять, почему я получаю «Было найдено несколько действий, которые соответствуют запросу:» при вызове действия PostEmailTemplate. Эти методы действий:ошибка веб-api route - найдено несколько действий
(удален старый код)
Update 2: я удалил все методы, установить маршрут обратно только маршрут по умолчанию, и оставил интерфейс контроллера по умолчанию. 2 'get' методы работают, но Post все еще дает эту ошибку. Это теперь контроллер:
public EmailTemplateModel Get(int id)
public List<EmailTemplateName> Get()
public void Post([FromBody]EmailTemplateModel data)
и это единственный путь:
RouteTable.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = System.Web.Http.RouteParameter.Optional }
);
Атрибут HttpPost дает ту же ошибку. Если я изменю параметр как просто строку вместо пользовательского типа, он будет работать. вот как я называю веб-api: $ .ajax ({ url: "/ api/emailtemplate /", Тип: 'POST', данные: ko.toJSON (self), contentType: 'application/json ', – user1202839
Странно, кажется, что нет ничего плохого. Не могли бы вы обновить свой внутренний вопрос с помощью большего количества кода? В частности, включите «открытый класс» и т. д., и вы можете дать пример кода JSON, возвращаемый методом 'Get'? – Kazu