KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have Users controller and basic REST pattern is working just fine. However I need one additional pattern users/{id}/usergroups that will return all user groups for that user. What would be the best way to implement this since I imagine I will need similar routes on many more controllers. Just default ones are not enough... Error Multiple actions were found that match the request: Api.Models.Users.User GetUser(Int32) on type Api.Controllers.UsersController System.Collections.Generic.IEnumerable`1[Api.Models.Users.UserGroup] GetUserGroups(Int32) on type Api.Controllers.UsersController Code // GET api/Users public IEnumerable<User> GetUsers() // GET api/Users/5 public User GetUser(int id) // THIS IS CONFLICT 1 // PUT api/Users/5 public HttpResponseMessage PutUser(int id, User user) // POST api/Users public HttpResponseMessage PostUser(User user) // DELETE api/Users/5 public HttpResponseMessage DeleteUser(int id) // GET api/Users/5/UserGroups public IEnumerable<UserGroup> GetUserGroups(int id) // THIS IS CONFLICT 2 Edit 1 I did what amhed suggested and it doesn't solve the issue. // GET api/Users/5 [HttpGet, ActionName("getuser")] public User GetUser(int id) // THIS STILL DOES NOT WORK // GET api/Users/5/UserGroups [HttpGet, ActionName("usergroups")] public IEnumerable<UserGroup> GetUserGroups(int id) // THIS WORKS // ROUTES config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "{controller}/{id}/{action}", defaults: new { id = RouteParameter.Optional, action = RouteParameter.Optional } );
Tags (comma-separated)
Save Edits
Cancel