我有点困惑。我有一个具有以下方法的控制器(从 ApiController 派生):
[ActionName("getusername")]
public string GetUserName(string name)
{
return "TestUser";
}
我的路由设置如下:
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
当我尝试/api/mycontroller/getusername/test
在提琴手中使用 GET 时,我不断收到 400 错误。
[FromBody]
当我在 GetUserName 中添加 name 参数时,我发现一切正常。
我以某种方式认为它[FromBody]
用于HttpPost
,表明该参数位于帖子的正文中,因此GET
. 看来我错了。
这是如何运作的?