没有找到与请求URI匹配的HTTP资源,未找到与控制器匹配的类型

时间:2016-08-05 11:35:44

标签: c# asp.net-web-api asp.net-web-api2 asp.net-routing system.web.http

当我点击网址时: http://localhost/api/adxxx/getDeals/?input=2

我收到以下错误:

  

“消息”:“找不到与请求URI匹配的HTTP资源   'http://localhost/api/adxxx/getDeals/?input=2'。“,

     

“MessageDetail”:“找不到与控制器匹配的类型   名为'adxxx'。“

 public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {        
            config.DependencyResolver = new UnityResolver(UnityBootstrapper.Initialise());
            config.EnableCors();

            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "xxx.services",
                routeTemplate: "webapi/{controller}/{action}"
            );

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

           FluentValidationModelValidatorProvider.Configure(config);
        }
    }


[Route("api/adxxx/getDeals/")]
public IHttpActionResult GetDeals(int input)
{
 //code here
}

我如何解决这个问题?非常相似的api有不同的路线工作正常。

当我为我的api添加了流畅的验证时,就发生了这种情况。这将我的System.Web.Http.dll更新为v5.2.3.0

1 个答案:

答案 0 :(得分:0)

更正允许参数

的路线配置
[Route("api/adxxx/getDeals/{input}")]
public IHttpActionResult GetDeals(int input)
{
 //code here
}

然后你可以通过

申请
http://localhost/api/adxxx/getDeals/2
相关问题