私はthese instructionsに続いて、ASP.NET Coreアプリケーションにswaggerを追加しました。ASP.NET Core Swaggerは、Webアプリケーションがサブディレクトリにホストされている場合に不正なjson URLを使用します。
ルートウェブサイトとしてホストするとうまくいきますが、既存のウェブサイトの別名としてアプリをホストすると、myserver.com/myapp
と言うと、swaggerは正しくないURLでswagger.json
を探し、次のように報告します。 JSON from https://myserver.com/swagger/v1/swagger.json
代わりにhttps://myserver.com/myapp/swagger/v1/swagger.json
を使用する必要があります。
私が手にメッセージがある:
は、私は、アプリケーションベースパスを使用してswagger.jsonを探すためにswashbuckle /闊歩を設定するにはどうすればよいhttps://myserver.com/swagger/v1/swagger.json
から闊歩JSONを読み取ることができません。適切な場所にファイル?
私はIISでホストしています。
swashbuckleのバージョンは次のとおりです。
"Swashbuckle": "6.0.0-beta902"
私はStartup.cs
でConfigure
方法でapp.UseSwaggerUi()
に何かを追加する必要がありますことを疑うが、私はよく分かりません。
スタートアップ設定:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
// Enable middleware to serve generated Swagger as a JSON endpoint
app.UseSwagger();
// Enable middleware to serve swagger-ui assets (HTML, JS, CSS etc.)
app.UseSwaggerUi();
}
私は同じ問題があります。私のローカルマシンではうまくいきましたが、展開時には同じ問題が発生します。私はいくつかの設定方法を試してきました。あなたが解決した場合は私にお知らせください! https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/128 –