【问题标题】:Asp.NET Web Api RoutingAsp.NET Web Api 路由
【发布时间】:2013-01-18 04:09:49
【问题描述】:

我的 WebApiConfig.cs 中有以下代码

   config.Routes.MapHttpRoute(
        name: "Action",
        routeTemplate: "api/{controller}/{action}/{id}",
        defaults: new { id = RouteParameter.Optional }
   );

ABCController.cs

 public class ABCController : ApiController
 {        
     [AcceptVerbs("GET")]
     [ActionName("GetABCByXYZById")]
     public string GetABCByXYZById(int xYZId)
     {                
         return "GetABCByXYZById";
     }
 }

当我尝试调用 API 时,它说无法在控制器中找到操作。

 /api/ABC/GetABCByXYZById/12

【问题讨论】:

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


    【解决方案1】:

    这是因为您的 routeTemplate 使用名称 {id} 作为操作参数,但您的操作实际上采用名称为 xYZId 的参数。

    尝试将您的操作参数更改为名为@9​​87654323@,它应该可以工作:
    public string GetABCByXYZById(int id)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-28
      • 1970-01-01
      • 1970-01-01
      • 2014-04-08
      • 1970-01-01
      • 1970-01-01
      • 2018-08-25
      • 1970-01-01
      相关资源
      最近更新 更多