コントローラにカスタムメソッドを追加しようとしていますが、追加すると次のエラーが発生します。
http://localhost/api/process/asdf
リクエストに一致する複数のアクションが見つかりました
WebApiConfig、コントローラー、またはURLに何かが足りませんか?
これが私のWebApiConfigです。
public static class WebApiConfig {
public static void Register (HttpConfiguration config) {
config.Routes.MapHttpRoute(
name: "ControllerOnly",
routeTemplate: "api/{controller}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "ControllerAndId",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "ControllerAndActionGet",
routeTemplate: "api/{controller}/{action}",
defaults: new { action = "Get"}
);
config.Routes.MapHttpRoute(
name: "ControllerAndActionAndIdGet",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { action = "Get", id = RouteParameter.Optional }
);
}
}
これが私のプロセスコントローラーです:
public class ProcessController : BaseApiController
{
// GET api/process
public List<Process> Get ()
{
return null;
}
[HttpGet]
[ActionName("asdf")]
public List<Process> asdf () {
return null;
}
[HttpGet]
[ActionName("fdsa")]
public List<Process> fdsa (int id) {
return null;
}
// GET api/process/5
public List<Process> Get (long id)
{
return null;
}
// POST api/process
public void Post ([FromBody]string value)
{
}
// PUT api/process/5
public void Put (int id, [FromBody]string value)
{
}
// DELETE api/process/5
public void Delete (int id)
{
}
}