asp.net web api 【找到了与该请求匹配的多个操作】

调用webapi接口 (问题) 

{"Message":"出现错误。","ExceptionMessage":"找到了与该请求匹配的多个操作: \r\n类型 TestApi.Controllers.TestController 的 GetName\r\n类型 TestApi.Controllers.TestController 的 GetResult","ExceptionType":"System.InvalidOperationException","StackTrace":"   在 System.Web.Http.Controllers.ApiControllerActionSelector.ActionSelectorCacheItem.SelectAction(HttpControllerContext controllerContext)\r\n   在 System.Web.Http.Controllers.ApiControllerActionSelector.SelectAction(HttpControllerContext controllerContext)\r\n   在 System.Web.Http.ApiController.ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken)\r\n   在 System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__15.MoveNext()"}

解决方案:

WebApiConfig.cs 文件中路由没有配置action

原始:

1
2
3
4
5
6
7
8
9
10
11
12
13
public static void Register(HttpConfiguration config)
       {
           // Web API 配置和服务
 
           // Web API 路由
           config.MapHttpAttributeRoutes();
 
           config.Routes.MapHttpRoute(
               name: "DefaultApi",
               routeTemplate: "api/{controller}/{id}",
               defaults: new { id = RouteParameter.Optional }
           );
       } 

修改:

1
2
3
4
5
6
7
8
9
10
11
12
13
public static void Register(HttpConfiguration config)
{
    // Web API 配置和服务
 
    // Web API 路由
    config.MapHttpAttributeRoutes();
 
    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{action}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );
}

  



 

posted @   小布雷  阅读(380)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示