使用 Angularjs 的 asp.net webAPI 路由的问题.(找到多个匹配的操作)

本文关键字:操作 asp Angularjs net webAPI 问题 路由 使用 | 更新日期: 2023-09-27 18:33:36

我几乎读过所有内容。 应用了所有解决方案。 仍然没有任何效果。

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

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

网页 api 排序.cs文件

[ActionName("pcc")]
public IHttpActionResult Post(PccModel pcc)
{
     return Ok()
}
[ActionName("sortBy")]
public IHttpActionResult PostSortBy(SortByModel sortByModel)
{
            return Ok();
}
}

从 Angular 控制器.js文件调用 Web API

调用排序方式...

$http({
            method: 'POST',
            url: '/api/Sorting/sortBy',
            data: sortByModel,
            headers: { 'Content-Type': 'application/json' }
        })
       .success(function () {
        }).error(function() {
        });

致电 PCC

return $http.post('/api/Sorting/pcc', data);

在这两个调用中,都会出现相同的多操作方法错误。

使用 Angularjs 的 asp.net webAPI 路由的问题.(找到多个匹配的操作)

应用

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

以前

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

有关更多信息,请参阅此处