【发布时间】:2021-03-11 09:36:56
【问题描述】:
在加载/swagger/index.html页面时,浏览器找不到部署到Azure中的App Servicce所需的swagger-ui资源,返回404。在本地运行时有效。我的设置是:
services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new OpenApiInfo
{
Title = "Nexus WebApp",
Version = "v1"
});
options.CustomSchemaIds(type => type.ToString());
});
var builder = endpoints.CreateApplicationBuilder();
builder.UseSwagger();
builder.UseSwaggerUI(options =>
{
options.SwaggerEndpoint("/swagger/v1/swagger.json", "Nexus WebApp");
});
var pipeline = builder.Build();
endpoints.Map("/swagger", pipeline)
.RequireAuthorization(new AuthorizeAttribute());
endpoints.Map("/swagger/index.html", pipeline)
.RequireAuthorization(new AuthorizeAttribute());
endpoints.Map("/swagger/{documentName}/swagger.json", pipeline)
.RequireAuthorization(new AuthorizeAttribute());
我已经尝试过使用像 ..\swagger\v1/swagger.json 这样的 swagger 端点的相对路径,不幸的是,我尝试指定一个 RoutePrefix 都无济于事。我知道有人问过类似的问题,但不幸的是,似乎没有任何帮助。
有人有线索吗?
更新
这些是它返回 404 的资源:
- https://{domain}/swagger/swagger-ui.css
- https://{domain}/swagger/swagger-ui-standalone-preset.js
- https://{domain}/swagger/swagger-ui-bundle.js
【问题讨论】:
-
恐怕不行,简单地用你的代码替换我的代码不是答案。
-
您找到解决方案了吗?
标签: c# asp.net azure swagger swashbuckle.aspnetcore