Este es un verdadero problema. He creado dos ApiControllers que estoy usando como un servicio web JSON: -Controlador WebApi no se encontraron acciones para el controlador
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);
}
}
}
y: -
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);
}
}
}
Con esta ruta: -
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/get/{code}",
defaults: new { code = RouteParameter.Optional }
);
Y mientras visita /api/airline/get/ba
o /api/airline/get/
funciona perfectamente, visitando cualquier variación de La revisión no lo hace. ¿Alguien puede ver algo realmente obvio que me falta aquí?
Se agradece la ayuda.
¿Puedes publicar las URL exactas de lo que estás utilizando y también el mensaje de error y stacktrace si hay alguna? Adivina: no estás enviando una aerolínea o una revisión y 'int' es un tipo de valor que debe tener un valor. Cambiarlos a 'int?' – nemesv
He intentado los siguientes URI: '/ api/reviews/get/ba','/api/reviews/get/','/api/reviews/get/1' ... I obtener siempre el mismo resultado: - '{ $ id:" 1 ", Mensaje:" No se encontró ningún recurso HTTP que coincida con el URI de solicitud 'http: // localhost: 88/ControlTower/api/reviews/get/1 '. ", MessageDetail:" No se encontraron acciones en el controlador' Revisiones 'que coinciden con la solicitud. " } ' – dooburt