web-dev-qa-db-ja.com

ASP.NET WebAPIのデフォルトのランディングページ

ASP.NET WebApi v2を使用してRESTful Webサービスを作成し、APIドキュメントのSwagger UIを生成するために Swashbuckle を使用しています。

すべてのAPI呼び出しは http:// localhost/api / の下にあり、swagger UIページは http:// localhost/browser/index にあります(「ブラウザ」部分は構成可能)。

http:// localhost / を参照すると、空のページが表示されるため、私の質問は http:// localhost /http:// localhost/browser/index ので、ユーザーはベースuriにアクセスするだけでAPIドキュメントを見ることができます。

私が考えることができる1つの解決策は、物理ファイルシステムを使用して、メタフレッシュを実行して静的なhtmlページを作成し、目的のランディングページにリダイレクトすることですが、これを行うにはもっと良い方法があるはずです...

17
Godsent

ルート構成を変更するRouteConfig.cs

デフォルト設定の代わりに:

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

Swaggerを指すように変更します。

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Browser", action = "Index", id = UrlParameter.Optional }
);

必ず更新してくださいRouteConfig.csWebApiConfig.cs

16
Karl Gjertsen