小编dms*_*las的帖子

WebAPI C#路由

我有两个终点:

  • api/v1/user/session (用于创建带有发布请求的用户登录)
  • api/v1/user (用于创建发布请求的用户)

如何在同一个控制器中路由这两个端点?我还想为特定请求指定操作.更清楚:

所有get,post,update,patch操作都可以在api/v1/user/session端点完成

所有get,post,update,patch操作都可以在api/v1/user端点完成

可能吗 ?

例:

config.Routes.MapHttpRoute(
    "UserApi",
    "api/v1/{controller}/session",
    new { controller = "User", action="Session" });
Run Code Online (Sandbox Code Playgroud)

现在,我希望所有其他请求都适用于具有[httpPost],[httpGet]等属性的Session方法.

       config.Routes.MapHttpRoute("lol", "api/v1/{controller}/session", 
            new { controller = "User", action="Session" });

        //config.Routes.MapHttpRoute(
        //    name: "LoginApi",
        //    routeTemplate: "api/v1/{controller}",
        //    defaults: new { controller = "User"}
        //);

        config.Routes.MapHttpRoute(
            name: "RailStationApi",
            routeTemplate: "api/v1/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api

2
推荐指数
1
解决办法
706
查看次数

标签 统计

asp.net-web-api ×1

c# ×1