builder.Services.Configure<ApiBehaviorOptions>(options =>
{
options.InvalidModelStateResponseFactory = actionContext =>
{
//获取验证失败的模型字段
var errors=actionContext.ModelState.Where(s=>s.Value!=null&&s.Value.ValidationState==ModelValidationState.Invalid)
.SelectMany(s=>s.Value!.Errors.ToList())
.Select(e=>e.ErrorMessage)
.ToList();
// 统一返回格式
var result = new
{
Code = StatusCodes.Status400BadRequest,
Msg = "数据验证不通过!",
Data = errors
};
return new BadRequestObjectResult(result);
};
});
对数据进行约束
public class User
{
[Required]
public string Name { get; set; }
[Range(1, 100)]
public int Age { get; set; }
}
数据调用接口
[HttpPost]
public IActionResult Test(User user)
{
return new JsonResult(new { code = 0, date = user });
}