在我的ASP 4.6应用程序中,我有:
app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "Feature Toggle API V1"); });
当我在localhost:5000/swagger/v1/swagger.json
上运行它时它工作正常但是当我将它部署在使用不同应用程序someserver/myapp/swagger/v1/swagger.json
的虚拟目录的远程服务器上时,它不起作用。
将app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "Feature Toggle API V1"); });
转换为适用于localhost和虚拟目录的相对路径的最佳做法是什么?
答案 0 :(得分:5)
我遇到了同样的问题 试试这个:
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("v1/swagger.json", "V1 Docs");
});
答案 1 :(得分:0)
也许这个问题有点老了,但是我遇到了同样的问题,并在ASP.NET Core文档中找到了答案:
如果将目录与IIS或反向代理一起使用,请设置Swagger 使用./前缀的相对路径的端点。例如, ./swagger/v1/swagger.json。使用/swagger/v1/swagger.json指令 该应用程序在URL的真实根目录下查找JSON文件(加上 路由前缀(如果使用)。例如使用 http://localhost://swagger/v1/swagger.json代替 的 http://localhost:///swagger/v1/swagger.json。