我跟着these instructions向我的ASP.NET Core应用程序添加Swagger。当Web应用程序托管在一个子目录中时,ASP.NET Core Swagger使用不正确的json url
当我主持它作为一个根网站,但是当我主持的应用程序与现有网站上的别名,说myserver.com/myapp
,招摇会寻找swagger.json
在一个不正确的网址,并报告它正常工作:*无法读取招摇JSON来自https://myserver.com/swagger/v1/swagger.json
。它应该改用https://myserver.com/myapp/swagger/v1/swagger.json
。
我得到的消息是:
阅读招摇JSON我如何配置swashbuckle /招摇使用的应用程序基本路径,并寻找swagger.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 –