本文介绍了在路由的mvc Asp.net 4和网页API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我可以使用以下两种途径规则在一起吗?
Can I use the following two route rule together ?
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
,我想有以下
-
列表<水果GT;获得()
=API / FruitApi /
列表<水果GT; GetSeasonalFruits()
= API / FruitApi / GetSeasonalFruit
水果GetFruits(字符串ID)
= API / FruitApi / 15
水果GetFruitsByName(字符串名称)
= API / FruitApi / GetFruitsByName /苹果
请帮我在这。谢谢
推荐答案
您可以有两个途径:
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" }
);
}
}
这篇关于在路由的mvc Asp.net 4和网页API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!