如何设置Swagger默认值Example
前⾔
Swashbuckle.AspNetCore 版本<PackageReference Include="Swashbuckle.AspNetCore" Version="5.5.1" />
设置 Example 默认值
经⼤佬指点:可以这样设置指定字段的默认值
/// <summary>
/// ⽤户名
我的读书故事400字/// </summary>
[Required(ErrorMessage = "⽤户名不能为空")]
[DefaultValue(" Hello")]
public string account { get; set; }
梦到丢鞋
蓁蓁手工皂1. 在实体上给定默认值
public class InputModel
{
public string UserName { get; set; } = "userName";
public string PassWord { get; set; } = "passWord";
比较好的净水器}
2. 实现ISchemaFilter接⼝
public class SchemaFilter : ISchemaFilter
{
public void Apply(OpenApiSchema schema, SchemaFilterContext context)
{
植物大战僵尸无尽版阵型
if (!context.Type.IsClass || context.Type == typeof(string) || !context.Type.IsPublic || context.Type.IsArray) return;
var obj = Activator.CreateInstance(context.Type);
一顿是多少升_ = (from sc in schema.Properties
join co in context.Type.GetProperties() on sc.Key.ToLower() equals co.Name.ToLower()
select sc.Value.Example = co.GetValue(obj) != null ? OpenApiAnyFactory.CreateFor(sc.Value, co.GetValue(obj)) : sc.Value.Example).ToList(); }
}
3. 注⼊到 core 容器(Startup.cs)
public void ConfigureServices(IServiceCollection services)
{
services.AddSwaggerGen(options =>
{
options.SchemaFilter<SchemaFilter>();
}
}
最后
OK,这样就⼤功告成。
这是我的第⼀篇博客,哈哈,简陋了些。希望对⼤家有帮助!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论