Asp.net-Mvc
Asp.net Mvc 4 和 Web Api 中的路由
我可以同時使用以下兩個路由規則嗎?
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 } );控制器說是=
FruitApiController:ApiController,我希望有以下
List<Fruit> Get()=api/FruitApi/List<Fruit> GetSeasonalFruits()=api/FruitApi/GetSeasonalFruitFruit GetFruits(string id)=api/FruitApi/15Fruit GetFruitsByName(string name)=api/FruitApi/GetFruitsByName/apple請幫助我。謝謝
你可以有幾條路線:
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" } ); } }