Swagger + .Net6 Web API不加载自定义. css

h6my8fg2  于 2022-12-30  发布在  .NET
关注(0)|答案(3)|浏览(178)

从这个SO article开始,我修改了Web API项目中的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文件有多大,它都会报告此错误。
我显然没有做我应该做的事,但我看不出那可能是什么。

zpf6vheq

zpf6vheq1#

我看不出有什么理由
您是否已将此添加到Program.cs中?

app.UseStaticFiles();
vaj7vani

vaj7vani2#

我可以根据你的代码显示它。
1.安装包螺旋扣.AspNetCore -版本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.Result:

mwkjh3gx

mwkjh3gx3#

这就是我如何让它在我的webapi.NET6.0应用程序中工作的:
1.在Visual Studio中添加了文件夹wwwroot + custom.css
1.在Program.cs中添加了配置

app.UseSwaggerUI(options => {
options.InjectStylesheet("/custom.css");
                   }
app.UseStaticFiles();

1.在custom.css中添加了css

body {
 }
 .swagger-ui .topbar {
     background-color: #ffd800;
     padding: 14px;
 }

相关问题