Api方法路径不会路由

时间:2015-11-05 16:36:40

标签: entity-framework entity-framework-6

我试图让这个方法路由并点击断点,但找不到路线。

在WebApi.config中:

 public static void Register(HttpConfiguration config)
    {
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }

我的API方法,位于名为UserController的控制器

/// <summary>
/// Get specific user 
/// </summary>
/// <param name="username"></param>
/// <returns></returns>
[HttpGet]
public string GetUserInfo(string username)
{
    string retval = username;
    return retval;
}

然后我尝试用这样的路径拨打电话 http://localhost:59023/api/User/GetUserInfo/testuser

但该方法尚未找到。我在浏览器中收到如下信息:
未找到与请求URI匹配的HTTP资源&#39; http://localhost:59023/api/User/GetUserInfo/testuser&#39;。

1 个答案:

答案 0 :(得分:1)

您的路由配置定义了参数“id”,但您的操作方法接受名为“username”的参数。 更改一个或另一个,使它们相同(用户名或两个id)。