gpt4 book ai didi

asp.net-mvc - 如何为 MVC 4 Api 制作更多 MapHttpRoutes

转载 作者:行者123 更新时间:2023-12-03 21:57:37 26 4
gpt4 key购买 nike

我的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com