Вот конфигурация маршрутизации в WebApiConfig.cs:
config.Routes.MapHttpRoute(
name: "DefaultApiPut",
routeTemplate: "api/{controller}",
defaults: new { httpMethod = new HttpMethodConstraint(HttpMethod.Put) }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { httpMethod = new HttpMethodConstraint(HttpMethod.Get, HttpMethod.Post, HttpMethod.Delete) }
);
Вот мой контроллер:
public class MyController : ApiController {
[HttpPut]
public void Put()
{
//blah
}
}
Как-то, когда клиент передает запрос PUT с URL /api/myController/12345
, он по-прежнему сопоставляется методу Put
в MyController
, я ожидаю, что ошибка, подобная ресурсу, не найдена.
Как заставить метод Put
принимать запрос без параметра?
Спасибо заранее!