2016-07-15 2 views
1

私はangularJSでWebリクエストで空のカテゴリに次のURLを使用しています、URLのパラメータ対属性空のパラメータを持つ最初のURLは正常に動作しているようですが、属性ルーティングに変換すると、 'カテゴリ'パラメータが空の場合は機能しません。属性ルーティングに変換する正しい方法は何ですか?カスタムルートが

答えて

1

あなたの記事には、慣例に基づいたルーティングと属性ルーティングは記述されていません。

はこのルート

/api/students/?category=&begin=2&pagesize=3 

コントローラは、おそらくこのようになりますが与えられました。

public StudentsController : ApiController { 
    public Students Index(int category, int begin, int pagesize) { ... } 
} 

と経路設定:要求にクエリパラメータに基づいて、StudentsController.Index/api/students/?category=&begin=2&pagesize=3

config.Routes.MapHttpRoute(
    name: "CustomFilter", 
    routeTemplate: "api/{controller}" 
); 

枠組みにおけるバインディングエンジンは、要求に一致するであろう。

1

URLの途中にパラメータがない場合は、このパラメータを使用せずに別のルートを作成し、既存のルーティングの後にルーティングに配置する必要があります。

config.Routes.MapHttpRoute(
     name: "CustomFilter", 
     routeTemplate: "api/{controller}/{begin}/{pageSize}", 
     defaults: new 
     { 
      begin = RouteParameter.Optional, 
      take = RouteParameter.Optional 
     } 
    ); 
関連する問題