我有一个 C# 属性模型,其中有名字、姓氏和电子邮件等属性,但我需要验证,但是当我从 Swagger 提交空白请求时,请求中会出现默认数据,例如名字和姓氏中的字符串,以及电子邮件中的字符串是 [电子邮件受保护]
所以请指导我如何处理它,以便我可以测试我的 C# 验证。
请指导我如何处理?
根据我的理解,您想要设置默认的 json 值,以便在 swagger 中发布“空”模型时会触发无效响应。如果您有以下代码:
public class User
{
public string FirstName { get; set; }
public string LastName { get; set;}
[EmailAddress]
public string Email { get; set; }
}
[HttpPost]
public void test(User user)
{
}
您可以通过以下配置更改
User
模式 swagger 默认值。安装包Swashbuckle.AspNetCore.Filters
然后实现User
模型示例提供者
public class UserExample : IExamplesProvider<User>
{
public User GetExamples()
{
return new User
{
FirstName = null,
LastName = null,
Email = ""
};
}
}
将以下配置添加到program.cs
builder.Services.AddSwaggerGen(c =>
{
c.ExampleFilters();
});
builder.Services.AddSwaggerExamplesFromAssemblies(Assembly.GetEntryAssembly());