控制器如下所示,get
工作正常,但是当调用post
时,会收到引用的内容:
[ActionName("import")]
public void PostImport([FromBody]string file = "myString")
{}
[ActionName("something")]
public void PostSomething()
{}
[ActionName("bool")]
public Boolean GetBool()
{}
路线注册如下:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "ControllerAndAction",
routeTemplate: "api/{controller}/{action}"
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
我正在使用的请求是:
curl -H "Content-Type: application/json" -d '{"file":"myOtherString"}' http://localhost:6
1393/api/admin/import
答案 0 :(得分:1)
URL / api / admin / import匹配两条不同的路由。
它将DefaultApi与" admin"的控制器匹配。 id为" import"。
它还将ControllerAndAction与" admin"的控制器相匹配。 " import"。
的行动因此无法确定使用哪条路线