0

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

我收到以下错误:

"Message": "没有找到与请求 URI ' http://localhost/api/adxxx/getDeals/?input=2 '匹配的 HTTP 资源。",

"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

4

1 回答 1

0

更正您的路由配置以获取允许参数

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

然后你可以通过

http://localhost/api/adxxx/getDeals/2
于 2016-08-05T11:37:18.340 回答