C# 在控制器上未找到任何操作';用户';与名称';名称';
我的控制器中有两种动作方法C# 在控制器上未找到任何操作';用户';与名称';名称';,c#,asp.net-web-api,asp.net-web-api-routing,C#,Asp.net Web Api,Asp.net Web Api Routing,我的控制器中有两种动作方法 [RoutePrefix("user")] public class UserController: ApiController { [HttpGet] public IEnumerable<User> Get() { return new User.GetUsers(); } [Route("{name}")] [HttpGet] public IEnumerable<Use
[RoutePrefix("user")]
public class UserController: ApiController
{
[HttpGet]
public IEnumerable<User> Get()
{
return new User.GetUsers();
}
[Route("{name}")]
[HttpGet]
public IEnumerable<User> GetByName(string name)
{
return new User.GetUsers(name);
}
}
我打以下电话
localhost/User - - Working
localhost/User/Jane -- Not working throwing error.
我不确定API有什么问题。在基于约定的路由之前,需要启用属性路由
config.maphttpAttribute路由()
并更新控制器。尽量不要在同一控制器中混合使用基于约定的路由和属性路由
[RoutePrefix("user")]
public class UserController: ApiController
{
//GET user
[Route("")]
[HttpGet]
public IEnumerable<User> Get() { ... }
//GET user/Jane
[Route("{name}")]
[HttpGet]
public IEnumerable<User> GetByName(string name) { ... }
}
[RoutePrefix(“用户”)]
公共类用户控制器:ApiController
{
//获取用户
[路线(“”)
[HttpGet]
公共IEnumerable Get(){…}
//获取用户/简
[路由(“{name}”)]
[HttpGet]
公共IEnumerable GetByName(字符串名){…}
}
在基于约定的路由之前,需要启用属性路由config.MapHttpAttributeRoutes
[RoutePrefix("user")]
public class UserController: ApiController
{
//GET user
[Route("")]
[HttpGet]
public IEnumerable<User> Get() { ... }
//GET user/Jane
[Route("{name}")]
[HttpGet]
public IEnumerable<User> GetByName(string name) { ... }
}