error - Enrutamiento en Asp.net Mvc 4 y Web Api
custom error mvc 5 web config (2)
¿Puedo usar las dos reglas de ruta siguientes juntas?
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional } );
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Digamos por controlador es = FruitApiController:ApiController
y deseo tener lo siguiente
List<Fruit> Get()
=api/FruitApi/
List<Fruit> GetSeasonalFruits()
=api/FruitApi/GetSeasonalFruit
Fruit GetFruits(string id)
=api/FruitApi/15
Fruit GetFruitsByName(string name)
=api/FruitApi/GetFruitsByName/apple
Por favor ayúdame con esto. Gracias
Podrías tener un par de rutas:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "ApiById",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional },
constraints: new { id = @"^[0-9]+$" }
);
config.Routes.MapHttpRoute(
name: "ApiByName",
routeTemplate: "api/{controller}/{action}/{name}",
defaults: null,
constraints: new { name = @"^[a-z]+$" }
);
config.Routes.MapHttpRoute(
name: "ApiByAction",
routeTemplate: "api/{controller}/{action}",
defaults: new { action = "Get" }
);
}
}
config.Routes.MapHttpRoute(
name: "ApiByName",
routeTemplate: "api/{controller}/{action}/{name}",
defaults: null,
constraints: new { name = @"^[a-z]+$" }
);