Подтвердить что ты не робот

WebApi Controller не найдено никаких действий для контроллера

Настоящая голова - вот эта. Я создал два ApiControllers, которые я использую как веб-сервис JSON: -

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);
        }
    }
}

и: -

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 }
            );

И пока посещение /api/airline/get/ba или /api/airline/get/ отлично работает, просмотр любого варианта Обзор не работает. Может ли кто-нибудь увидеть что-нибудь действительно очевидное, я здесь отсутствует?

Помощь приветствуется.

4b9b3361

Ответ 1

Ваш маршрут по умолчанию ожидает параметр с именем "code". Вам необходимо добавить маршрут, чтобы принять параметр с именем авиакомпания и/или просмотреть, или явно указать контроллеру имя параметра.

ех./API/обзоры/получить? Авиалиния = 1