【问题标题】:Swagger + .Net6 Web Api doesn't load custom.cssSwagger + .Net6 Web Api 不加载 custom.css
【发布时间】:2022-01-28 18:53:55
【问题描述】:

从这个SO article 开始,我修改了我的Web Api .Net6 项目中的program.cs 文件以包含...

builder.Services.AddSwaggerGen(options =>
{
   options.SwaggerDoc("v1", new OpenApiInfo
                                {
                                   Version = "v1",
                                   Title = "Blah.Api",
                                   Description = "Blah blah"
                                });
});
    
// ...

app.UseSwagger();
app.UseSwaggerUI(options =>
{
   options.EnableTryItOutByDefault();
   options.EnableFilter();
   options.InjectStylesheet("/swagger-ui/custom.css");
});

我创建了一个wwwroot 文件夹,其中swagger-ui 作为子文件夹,并向其中添加了一个custom.css 文件,内容如下...

.swagger-ui .renderedMarkdown p {
    font-size: small;
    margin-top: 0;
}

当我启动我的 api 时,我注意到我的自定义 css 没有应用。快速浏览一下 chrome 中的开发工具,我发现文件加载正常,但它是空的......

css 文件设置为“内容”,如果这有什么不同的话。

没有报告网络错误,并且开发工具网络选项卡报告 custom.css 文件的 200。它报告“通过网络传输的 16 B,资源大小 0 B”,无论实际的 css 文件有多大,它都会报告这一点。

我显然没有做我应该做的事情,但我看不出那可能是什么。

【问题讨论】:

    标签: css asp.net-core-webapi swagger-ui swashbuckle.aspnetcore


    【解决方案1】:

    我看不出它没有加载的原因

    您是否在 Program.cs 中添加了这个?

    app.UseStaticFiles();
    

    【讨论】:

    • 我没有,没有,但遗憾的是,添加它并没有任何区别。
    【解决方案2】:

    我可以根据你的代码显示出来。

    1.Install-Package Swashbuckle.AspNetCore -version 6.1.4

    2.配置 Swagger 中间件。

       using Microsoft.OpenApi.Models;
    
    var builder = WebApplication.CreateBuilder(args);
    
    // Add services to the container.
    
    builder.Services.AddControllers();
    // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
    builder.Services.AddEndpointsApiExplorer();
    builder.Services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new OpenApiInfo {  Version = "v1" , Title = "Blah.Api", Description = "Blah blah" });
    });
    
    var app = builder.Build();
    
    // Configure the HTTP request pipeline.
    if (app.Environment.IsDevelopment())
    {
        app.UseSwagger();
        app.UseSwaggerUI(c =>
        {  c.EnableFilter();
            c.SwaggerEndpoint("/swagger/v1/swagger.json", "  V1 Blah.Api  Blah blah");
            c.InjectStylesheet("/swagger-ui/custom.css");
        });
    }
    
    
    app.UseStaticFiles();
    
    app.UseHttpsRedirection();
    
    app.UseAuthorization();
    
    app.MapControllers();
    
    app.Run();
    

    3.结果:

    【讨论】:

      猜你喜欢
      • 2022-06-28
      • 1970-01-01
      • 2020-03-07
      • 2019-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-15
      相关资源
      最近更新 更多