Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WebApi控制器找不到该控制器的任何操作_C#_Asp.net_Asp.net Mvc 3 - Fatal编程技术网

C# WebApi控制器找不到该控制器的任何操作

C# WebApi控制器找不到该控制器的任何操作,c#,asp.net,asp.net-mvc-3,C#,Asp.net,Asp.net Mvc 3,这一次真是让人头疼。我创建了两个ApicController,用作JSON Web服务:- namespace ControlTower.Controllers { public class AirlinesController : ApiController { private static IEnumerable<Airline> MapAirlines() { return (Jetstream.Airli

这一次真是让人头疼。我创建了两个ApicController,用作JSON Web服务:-

namespace ControlTower.Controllers
{
    public class AirlinesController : ApiController
    {
        private static IEnumerable<Airline> MapAirlines()
        {
            return (Jetstream.AirlineObject.GetAirlines()).Select(x => x);
        }

        [HttpGet]
        public IEnumerable<Airline> GetAirlines()
        {
            return MapAirlines().AsEnumerable();
        }

        [HttpGet]
        public Airline GetAirlineByCode(string code)
        {
            return Jetstream.AirlineObject.GetAirline(code);
        }
    }
}
而当访问
/api/airline/get/ba
/api/airline/get/
时,访问Review的任何变体都不起作用。有人能看到我在这里遗漏了什么吗


非常感谢您的帮助。

您的默认路由需要一个名为“code”的参数。您需要添加一条路线来接受名为airline和/或review的参数,或者显式地告诉控制器该参数的名称


ex./api/reviews/get?airline=1

您能否发布您正在使用的确切URL以及错误消息和stacktrace(如果有)?猜测:您发送的不是航空公司或评论,
int
是值类型,它必须有一个值。将它们更改为
int?
我尝试了以下URI:
/api/reviews/get/ba
/api/reviews/get/
/api/reviews/get/1
。。。我总是得到相同的输出:-
{$id:“1”,消息:“没有找到与请求URI匹配的HTTP资源”http://localhost:88/ControlTower/api/reviews/get/1“.”,MessageDetail:“在控制器“审阅”上未找到与请求匹配的操作。”}
namespace ControlTower.Controllers
{
    public class ReviewsController : ApiController
    {
        private static IEnumerable<Review> MapReviews(int airline)
        {
            return (Jetstream.ReviewObject.GetReviews(airline)).Select(x => x);
        }

        [HttpGet]
        public IEnumerable<Review> GetReviews(int airline)
        {
            return MapReviews(airline).AsEnumerable();
        }

        [HttpGet]
        public Review GetReviewById(int review)
        {
            return Jetstream.ReviewObject.GetReview(review);
        }
    }
}
config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/get/{code}",
                defaults: new { code = RouteParameter.Optional }
            );