I got an error - No action was found on the controller 'Action' that matches the request.
The url is http://localhost:37331/api/action/FindByModule/1
.
The routing I used is
config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } );
Controller:
public class ActionController : ApiController { private IActionRepository repository = null; [HttpGet] [ActionName("All")] public IEnumerable<JsonAction> All() { return from action in this.repository.Get() select new JsonAction { ID = action.ID, Text = action.Text.Trim(), Description = action.Description.Trim(), }; } [HttpGet] [ActionName("FindByModule")] public IEnumerable<JsonAction> FindByModule(Int64 moduleId) { return from action in this.repository.FindByModule(moduleId) select new JsonAction { ID = action.ID, Text = action.Text.Trim(), Description = action.Description.Trim(), }; } }