2012-09-01 11 views
11

これは本当の意味です。WebApiコントローラコントローラに対応するアクションはありません

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

そして/api/airline/get/ba/api/airline/get/を訪問しながら - :このルーティングでは

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

- :

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

と - :私は、JSONのWebサービスとして使用しています2 ApiControllersを作成しましたレビューのバリエーションを訪れても、完璧に動作します。誰もが本当に明白な何かを見ることができますか?

お手数ですが、

+2

あなたが使用しているURLと、エラーメッセージとスタックトレースがあればそれを投稿できますか?推測:あなたは航空会社やレビューを送信していませんし、 'int'は価値タイプでなければなりません。それらを 'int?'に変更してください。 – nemesv

+0

私は以下の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:"要求に一致するコントローラ'レビュー 'でアクションが見つかりませんでした。 } ' – dooburt

答えて

18

デフォルトルートでは、「code」という名前のパラメータが必要です。 airlineやreviewというパラメータを受け入れるためのルートを追加するか、コントローラにパラメータの名前を明示的に伝える必要があります。

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

+0

多くのありがとうJason;) – dooburt

関連する問題