ほとんどのリクエストが専用コントローラで処理される状況があります。C#Web Api 2リクエストをデフォルトコントローラにリダイレクトする方法
config.Routes.MapHttpRoute(
name: "DataApi",
routeTemplate: "api/{controller}/{action}",
defaults: new
{
controller = "default"
}
);
ただし、URLに基づいてcontroller
が見つからない場合があります。 api/this_controller_is_not_exists/GetStatus
のように。
これらのリクエストをdefault
というデフォルトコントローラーにリダイレクトして、デフォルトのコントローラー内のアクションを使用してこの要求を処理するにはどうすればよいですか? デフォルトコントローラの有効な要求は、api/default/GetStatus
のようになります。
有効なリクエストと無効なリクエストでは、経路はそれほど変わりません。有効 :
'api/this_controller_exist/GetStatus'
無効:
まあ'api/this_controller_not_exists/GetStatus'
defaultControllerの機能は何ですか? –
@ChetanRanpariya:デフォルトロジックを使用してさらに処理するためのパラメータとして 'this_controller_not_exists'をパラメータとして使用できるデフォルトアクションが含まれています。 – Wiktor
回避策として、404エラーを処理し、デフォルトコントローラーに手動でリダイレクトすることができます –