【问题标题】:merge two routes in web api config在 web api 配置中合并两条路由
【发布时间】:2014-05-05 06:45:33
【问题描述】:

我在 web api 配置文件中有 2 条路由

config.Routes.MapHttpRoute("DefaultApiCtrl",
                                     "api/{controller}/{action}");

config.Routes.MapHttpRoute("DefaultApi",
                                    "api/{controller}/{id}",
                                    new { id = RouteParameter.Optional });

当我想像这样调用 web api [GET] 时:

/api/contacts/33

出现错误:No HTTP resource was found that matches the request URI

如何合并这两条路线并消除错误?

解决方案:

Web API 2 支持一种新的路由类型,称为属性路由。顾名思义,属性路由使用属性来定义路由。属性路由让您可以更好地控制 Web API 中的 URI。例如,您可以轻松创建描述资源层次结构的 URI。

asp.net完成教程

【问题讨论】:

    标签: asp.net api asp.net-web-api merge


    【解决方案1】:

    这个网络 API 似乎运行良好。不认为它是你需要的吗?

     public static class WebAPIConfig
     {
        public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = System.Web.Http.RouteParameter.Optional }
            );
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-27
      • 2017-03-01
      • 2015-07-22
      • 2020-02-19
      • 2013-11-04
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多