在控制器上找不到任何操作';门票';与名称';CloseTicket';
本文关键字:CloseTicket 门票 控制器 任何 操作 找不到 | 更新日期: 2023-09-27 18:24:05
我正在编写一个webapi项目,每当我尝试控制器中的任何方法时,都会收到错误在与名称"TestMethod"匹配的控制器"Tickets"上找不到任何操作。
以下控制器中的任何操作都不起作用。
我一直在谷歌上搜索,并且已经设置了WebApiConfig.cs来为路由添加操作。
我还缺少什么吗。
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
config.EnableSystemDiagnosticsTracing();
}
}
控制器
public class TicketController : ApiController
{
[HttpPost]
public static ServiceResponse<string> IssueTicket([FromBody]ServiceRequest<TicketRequest> request)
{
return ServiceResponse<string>.WithPayload(ticketID);
}
[HttpPost]
public static ServiceResponse<bool> CheckTicketExist([FromBody]ServiceRequest<string> request)
{
return ServiceResponse<bool>.WithPayload(doesExist);
}
[HttpPost]
public static ServiceResponse<bool> CloseTicket([FromBody]ServiceRequest<string> request)
{
return ServiceResponse<bool>.WithPayload(result);
}
[HttpPost]
public static bool TestMethod([FromBody]string test)
{
return true;
}
}
Web API在选择操作时不考虑静态方法。
参考
控制器上的哪些方法被视为"动作"?在选择操作时,框架只查看控制器上的公共实例方法。
从控制器中删除static
关键字。