我正在尝试基于 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”是真实身份的替代品。
可以肯定的是,我还发布了Register()
from WebApiConfig.cs
:
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 }
);
}