【发布时间】:2018-05-16 10:49:59
【问题描述】:
我一直在尝试制作一个休息 api 端点。但是,当我测试时,它说“找不到资源”。在网络浏览器中。
这是我的控制器(它的一部分)。该方法未被访问。
[System.Web.Http.RoutePrefix("api/ticket")]
public class TicketController : ApiController
{
private readonly ITicketService _TicketService = new TicketService();
[System.Web.Mvc.HttpGet]
[System.Web.Mvc.Route("Prepare/{number:string}")]
public TicketViewModel Prepare(string number)
{
...
}
}
这是我从 RouteConfig 注册的路线:
routes.MapRoute(
name: "Default api with parameter",
url: "api/{controller}/{action}/{number}",
defaults: new {
controller = "Ticket",
action = "Prepare",
number = UrlParameter.Optional }
);
【问题讨论】:
-
您正在混淆 MVC 和 Web API 路由属性和路由配置。查看您用于属性的命名空间。
RoutePrefix使用正确的命名空间,而其他的则没有。
标签: c# .net asp.net-web-api asp.net-web-api-routing