.NET Core Web API中如何在Swagger UI设置输入示例?
在.NET Core中为Swagger UI 3.0的字符串属性添加示例指引
当然可以实现,以下是几种在.NET Core里给Swagger UI的ColumnAndSortOrder属性添加示例的常用方法:
方法1:使用Swagger注解
首先确保你安装了Swashbuckle.AspNetCore.Annotations NuGet包,然后直接在模型属性上添加[SwaggerSchema]注解指定示例:
using Swashbuckle.AspNetCore.Annotations; public class YourRequestModel { [SwaggerSchema(Example = "Resource, Asc")] public string ColumnAndSortOrder { get; set; } }
接着在Program.cs(或Startup.cs)的Swagger配置中启用注解支持:
builder.Services.AddSwaggerGen(c => { c.EnableAnnotations(); });
方法2:通过XML注释添加示例
给属性添加包含<example>标签的XML注释:
/// <summary> /// 指定排序的列名和顺序 /// </summary> /// <example>Resource, Asc</example> public string ColumnAndSortOrder { get; set; }
然后在Swagger配置中启用XML注释解析(需要先在项目属性里开启"生成XML文档文件"):
var xmlFileName = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; var xmlFilePath = Path.Combine(AppContext.BaseDirectory, xmlFileName); builder.Services.AddSwaggerGen(c => { c.IncludeXmlComments(xmlFilePath); });
方法3:使用SchemaFilter自定义配置
如果需要更灵活的控制,可以创建一个自定义的ISchemaFilter:
using Microsoft.OpenApi.Models; using Swashbuckle.AspNetCore.SwaggerGen; public class ColumnAndSortOrderExampleFilter : ISchemaFilter { public void Apply(OpenApiSchema schema, SchemaFilterContext context) { // 匹配目标模型和属性 if (context.Type == typeof(YourRequestModel) && schema.Properties.TryGetValue("columnAndSortOrder", out var propertySchema)) { propertySchema.Example = new OpenApiString("Resource, Asc"); } } }
然后在Swagger配置中注册这个Filter:
builder.Services.AddSwaggerGen(c => { c.SchemaFilter<ColumnAndSortOrderExampleFilter>(); });
以上任意一种方法都能让Swagger UI 3.0在ColumnAndSortOrder属性下方显示指定的示例文本,帮助用户理解输入格式。
内容的提问来源于stack exchange,提问作者Aԃιƚყα Gυɾαʋ
相关产品推荐
相关产品推荐

