作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 API atm 有 2 个 API 路由,但我想添加更多,而我这样做的方式似乎会相互覆盖,所以在我粘贴的代码中,只有 CreateUser
路线有效。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapHttpRoute(
name: "CreateUser",
routeTemplate: "api/{controller}/{cUser}",
defaults: new
{
controller = "User",
action = "CreateUser",
cUser = RouteParameter.Optional
});
routes.MapHttpRoute(
name: "AllGames",
routeTemplate: "api/{controller}/{playerId}",
defaults: new
{
controller = "Game",
action = "GetAllGames",
playerId = RouteParameter.Optional
});
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional
});
}
最佳答案
相信图案api/{controller}/{cUser}
在“CreateUser”路由中,由于其更通用的模式,它与其余的 Controller 操作相匹配。在路由中使用特定的 Controller 名称作为“用户”(api/User/{cUser})和“游戏”(api/Game/{playerId})。更具体的路线应该在顶部,更通用的路线应该在底部。
routes.MapHttpRoute(
name: "CreateUser",
routeTemplate: "api/User/{cUser}",
defaults: new
{
controller = "User",
action = "CreateUser",
cUser = RouteParameter.Optional
}
);
routes.MapHttpRoute(
name: "AllGames",
routeTemplate: "api/Game/{playerId}",
defaults: new
{
controller = "Game",
action = "GetAllGames",
playerId = RouteParameter.Optional
}
);
关于asp.net-mvc - 如何为 MVC 4 Api 制作更多 MapHttpRoutes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10766157/
我是一名优秀的程序员,十分优秀!