c# – WebApi控制器没有找到控制器的动作

前端之家收集整理的这篇文章主要介绍了c# – WebApi控制器没有找到控制器的动作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一个真正的头巾这个.我已经创建了两个ApiController,我正在使用 JSON Webservice:
  1. namespace ControlTower.Controllers
  2. {
  3. public class AirlinesController : ApiController
  4. {
  5. private static IEnumerable<Airline> MapAirlines()
  6. {
  7. return (Jetstream.AirlineObject.GetAirlines()).Select(x => x);
  8. }
  9.  
  10. [HttpGet]
  11. public IEnumerable<Airline> GetAirlines()
  12. {
  13. return MapAirlines().AsEnumerable();
  14. }
  15.  
  16. [HttpGet]
  17. public Airline GetAirlineByCode(string code)
  18. {
  19. return Jetstream.AirlineObject.GetAirline(code);
  20. }
  21. }
  22. }

和:-

  1. namespace ControlTower.Controllers
  2. {
  3. public class ReviewsController : ApiController
  4. {
  5. private static IEnumerable<Review> MapReviews(int airline)
  6. {
  7. return (Jetstream.ReviewObject.GetReviews(airline)).Select(x => x);
  8. }
  9.  
  10. [HttpGet]
  11. public IEnumerable<Review> GetReviews(int airline)
  12. {
  13. return MapReviews(airline).AsEnumerable();
  14. }
  15.  
  16. [HttpGet]
  17. public Review GetReviewById(int review)
  18. {
  19. return Jetstream.ReviewObject.GetReview(review);
  20. }
  21. }
  22. }

使用此路由: –

  1. config.Routes.MapHttpRoute(
  2. name: "DefaultApi",routeTemplate: "api/{controller}/get/{code}",defaults: new { code = RouteParameter.Optional }
  3. );

而访问/ api /航空公司/ get / ba或/ api /航空公司/获取/工作完美,访问任何评论的变化不.任何人都可以看到我在这里错过的东西吗?

帮助是赞赏

解决方法

您的默认路由是期待一个名为“code”的参数.您需要添加路由以接受名为airline和/或review的参数,或者明确地告诉控制器参数的名称.

恩. / API /评论/获取?航空公司= 1

猜你在找的C#相关文章