You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swashbuckle:如何修改.NET Core服务Swagger页面的服务显示标题?

自定义Swagger页面资源上方的标题(非浏览器标签页标题)

问题说明

使用Swashbuckle运行.NET Core WebAPI时,Swagger页面里所有API资源列表上方显示的标题默认取自程序集名称,需要自定义这个标题——注意它和通过app.UseSwaggerUI(options => options.DocumentTitle)修改的浏览器标签页标题不是同一个内容。

解决方案

这个标题对应OpenAPI文档中的Info.Title字段,只需在AddSwaggerGen的配置中指定即可,具体步骤如下:

  1. 扩展AddSwaggerGen的配置,添加自定义标题:
builder.Services.AddSwaggerGen(options =>
{
    // 配置Swagger文档的基础信息,这里的Title就是资源上方显示的标题
    options.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
    {
        Title = "我的自定义API服务", // 替换成你想要的标题文本
        Version = "v1",
        Description = "基于.NET Core构建的WebAPI服务" // 可选:添加API的描述信息
    });
});
  1. 完整修改后的项目代码:
var builder = WebApplication.CreateBuilder(args);

// 向容器添加服务
builder.Services.AddControllers();
// 了解更多Swagger/OpenAPI配置细节
builder.Services.AddEndpointsApiExplorer();
// 配置Swagger自定义标题
builder.Services.AddSwaggerGen(options =>
{
    options.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
    {
        Title = "我的自定义API服务",
        Version = "v1",
        Description = "基于.NET Core构建的WebAPI服务"
    });
});

var app = builder.Build();

// 配置HTTP请求管道
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();

关键区分

  • 资源上方标题:通过OpenApiInfo.Title配置,显示在Swagger页面内容区的顶部(原程序集名称位置)。
  • 浏览器标签页标题:通过app.UseSwaggerUI(options => options.DocumentTitle = "自定义标签页标题")配置,显示在浏览器的标签栏中,两者互不影响。

内容的提问来源于stack exchange,提问作者Overlord Zurg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 07:05:19