小编Jac*_*cob的帖子

在 Azure 中的 ASP.NET Core 3.1 应用程序中获取 swagger-ui 返回 404

加载 /swagger/index.html 页面时,浏览器找不到部署到 Azure 中的应用程序服务所需的 swagger-ui 资源,返回 404。它在本地运行时有效。我的设置是:

  services.AddSwaggerGen(options =>
  {
      options.SwaggerDoc("v1", new OpenApiInfo
      {
          Title = "Nexus WebApp",
          Version = "v1"
      });
      options.CustomSchemaIds(type => type.ToString());
               
  });
Run Code Online (Sandbox Code Playgroud)
 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());
Run Code Online (Sandbox Code Playgroud)

我尝试过像这样使用来自 swagger 端点的相对路径..\swagger\v1/swagger.json,不幸的是,我尝试指定 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

6
推荐指数
1
解决办法
7118
查看次数

标签 统计

asp.net ×1

azure ×1

c# ×1

swagger ×1

swashbuckle.aspnetcore ×1