WebApi 找到了与该请求匹配的多个操作

时间:2023-03-09 02:55:32
WebApi 找到了与该请求匹配的多个操作

在同一个命名空间内,报错

WebApi 找到了与该请求匹配的多个操作

错误的路由代码:

namespace CRM4S
{
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: "SalesApi",
// routeTemplate: "Api/Sales/{controller}/{action}/{id}",
// defaults: new { id = RouteParameter.Optional }
//); config.Formatters.Clear();
config.Formatters.Insert(, new JsonMediaTypeFormatter());
}
}
}

请求链接:

  var url = "/api/SalesApi/UpLoadAvatar?SalesID=" + saleid;

接口代码:

WebApi 找到了与该请求匹配的多个操作

这个时候就会报错

报说找到了多个请求匹配的操作

就是UpLoadAvatar与UpLoadQRcode冲突,如果只有一个就不会有问题,

如果将UpLoadQRcode中请求参数SalesID改成ID,那么UpLoadQRcode可以运行,UpLoadAvatar不可以

正确的方式:

将路由中的注释部分取消

请求地址为:

 var url = "/api/Sales/SalesApi/UpLoadAvatar?SalesID=" + saleid;

这个时候就没有问题了,可以正常请求