Чтобы определить значения по умолчанию для параметров Swagger UI в .NET Core, следующая article определяет специальный фильтр схемы для вашего атрибута DefaultValue в вашем классе Model. Код, приведенный ниже, взят из этой статьи и предназначен только для того, чтобы проинформировать любого, кто имеет этот вопрос или сталкивался с подобной проблемой:
Украсьте желаемые свойства в модели:
public class Test {
[DefaultValue("Hello")]
public string Text { get; set; }
}
Основной фильтр:
using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
using Swashbuckle.AspNetCore.Swagger;
using Swashbuckle.AspNetCore.SwaggerGen;
namespace Project.Swashbuckle {
public class SchemaFilter : ISchemaFilter {
public void Apply(Schema schema, SchemaFilterContext context) {
if (schema.Properties == null) {
return;
}
foreach (PropertyInfo propertyInfo in context.SystemType.GetProperties()) {
// Look for class attributes that have been decorated with "[DefaultAttribute(...)]".
DefaultValueAttribute defaultAttribute = propertyInfo
.GetCustomAttribute<DefaultValueAttribute>();
if (defaultAttribute != null) {
foreach (KeyValuePair<string, Schema> property in schema.Properties) {
// Only assign default value to the proper element.
if (ToCamelCase(propertyInfo.Name) == property.Key) {
property.Value.Example = defaultAttribute.Value;
break;
}
}
}
}
}
private string ToCamelCase(string name) {
return char.ToLowerInvariant(name[0]) + name.Substring(1);
}
}
}
И, наконец, регистрация его в параметрах Swagger (в файле Startup.cs):
services.AddSwaggerGen(c => {
// ...
c.SchemaFilter<SchemaFilter>();
});