3
もっと伝統的なMVC実装の横に、Web APIを配置したい場所を実装しています。異なる名前空間に重複したコントローラ名を使用したルートテンプレート
構造のようになります。
私のコードで+ Controllers
+ Web
- Product.cs
+ Api
- Product.cs
、私はルートにApi
名前空間に/api
経由で来るすべての要求をしたい、とWeb
名前空間のようなものに他のすべて:
// Want to indicate that these should all choose the the Api namespace
routes.MapRoute(
name: "api_route",
template: "api/{controller}/{action}/{id?}");
// Indicate that these should all choose the from the Web namespace.
routes.MapRoute(
name: "default_route",
template: "{controller}/{action}/{id?}");
私が見る限り、どの名前空間を選択するかを示す慣用的な方法はありません。これを行うより良い方法はありますか?または、コントローラごとにルートを手動で指定する必要がありますか?
編集: これは、レイザービューを使用している場合、これは疑問に思えるかもしれません。それにかかわらず、誰かが答えを持っているかどうか確認するため、これを残しておきます。