【发布时间】:2015-03-19 21:43:26
【问题描述】:
我正在尝试创建一个基于 Asp.Net MVC4 web api 框架的 REST api。 GET 请求运行良好。服务器忽略所有其他动词。
它只是说以下内容:
"No action was found on the controller 'Track' that matches the request."
虽然示例错误来自 Track 控制器,但所有其他控制器都有相同的问题。
这是我试图调用的控制器 Track 上的方法:
[HttpPost]
public Object Index(string token, string juke, string track)
{
}
我尝试过使用 JSON 对象,如下所示:
{ "track": "0000", "juke": "0000" }
我尝试使用“正常”的方式:
track=0000&juke=0000
以上示例中的“0000”是真实身份的替代品。
为了确保我也发布了来自WebApiConfig.cs 的Register():
public static void Register(HttpConfiguration config)
{
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
config.Routes.MapHttpRoute(
name: "DefaultIndexBackEnd",
routeTemplate: "back-end/{controller}/{token}",
defaults: new { action = "Index", token = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultBackEnd",
routeTemplate: "back-end/{controller}/{action}/{token}",
defaults: new { token = RouteParameter.Optional }
);
}
【问题讨论】:
-
您使用的是什么请求网址?
-
我正在使用:“/back-end/Track/0000”。同样,“0000”是真实令牌的替代品。
-
请提供您的查看页面代码。
-
是web api所以没有view
-
更多的是建议而不是答案 - 您可以尝试通过 nuget 或 getglimpse.com 进行路线调试
标签: c# asp.net-mvc-4 http asp.net-web-api httpverbs