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

运行项目时如何设置Swagger默认值?类中example注释配置不生效

Swagger 属性默认示例值配置方法

你之前用<example>XML注释配置没生效,是因为缺少两项前置配置,按下面步骤操作即可生效:

1. 开启项目XML文档生成

你可以直接修改项目.csproj文件,在PropertyGroup节点下添加如下配置:

<PropertyGroup>
  <!-- 开启XML注释文件生成 -->
  <GenerateDocumentationFile>True</GenerateDocumentationFile>
  <!-- 忽略未添加注释的编译警告,不需要可以不加 -->
  <NoWarn>$(NoWarn);1591</NoWarn>
</PropertyGroup>

也可以右键项目进入「属性」-「生成」-「输出」面板,手动勾选「XML文档文件」选项。

2. 配置Swagger读取XML注释

在服务注入Swagger的代码段,添加XML注释文件的读取配置:

builder.Services.AddSwaggerGen(options =>
{
    options.SwaggerDoc("v1", new OpenApiInfo { Title = "接口文档", Version = "v1" });
    
    // 拼接XML注释文件路径
    var xmlFileName = $"{System.Reflection.Assembly.GetExecutingAssembly().GetName().Name}.xml";
    var xmlFilePath = Path.Combine(AppContext.BaseDirectory, xmlFileName);
    // 第二个参数设为true,才会读取模型类的注释和<example>标签
    options.IncludeXmlComments(xmlFilePath, true);
});

配置完成后重新编译运行项目,你写的<example>12</example>就会显示在Swagger对应参数的示例位置。

其他替代配置方式

如果不想用XML注释,也可以用DefaultValue特性设置默认值:

  1. 先在SwaggerGen配置中开启默认值读取:
builder.Services.AddSwaggerGen(options =>
{
    // 原有配置不变,新增下面这行
    options.UseDefaultValue();
});
  1. 在属性上添加特性即可:
/// <summary>
/// 你的点差百分比
/// </summary>
[System.ComponentModel.DefaultValue(12)]
public decimal ClassNumber { get; set; } = default!;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:27:03