Asp.net web api .NET 5,ASP.NET Blazor返回DataAnnotation错误,而不是JSON解析器错误

Asp.net web api .NET 5,ASP.NET Blazor返回DataAnnotation错误,而不是JSON解析器错误,asp.net-web-api,blazor,data-annotations,.net-5,jsonparser,Asp.net Web Api,Blazor,Data Annotations,.net 5,Jsonparser,有没有办法获得DataAnnotation错误而不是JSON解析器错误 我有一个模型。例如,相关字段包括: [正则表达式(@“^(?i)(真|假)$”,ErrorMessage=“{0}必须为“真”或“假”)] 公共bool是学生{get;set;} [必需] [长度(50)] [数据类型(DataType.Text)] [正则表达式(@“^[A-Z]+[A-zA-Z\-]*$”,ErrorMessage=“FirstName只能包含字母、数字和破折号。”)] [显示(Name=“First N

有没有办法获得DataAnnotation错误而不是JSON解析器错误

我有一个模型。例如,相关字段包括:

[正则表达式(@“^(?i)(真|假)$”,ErrorMessage=“{0}必须为“真”或“假”)]
公共bool是学生{get;set;}
[必需]
[长度(50)]
[数据类型(DataType.Text)]
[正则表达式(@“^[A-Z]+[A-zA-Z\-]*$”,ErrorMessage=“FirstName只能包含字母、数字和破折号。”)]
[显示(Name=“First Name”)]
公共字符串LastName{get;set;}
[数据类型(DataType.Date)]
[DisplayFormat(DataFormatString=“{0:dd-MM-yyyy}”,ApplyFormatInEditMode=true)]
[显示(Name=“开始日期”)]
公共约会时间?DateStarted{get;set;}
我的控制器:

[路由(“api/[控制器]”)]
[ApiController]
[产品响应类型(StatusCodes.Status400BadRequest)]
公共类PeopleController:控制器
{
//为简洁起见,请删除
[授权]
[HttpPost(“personupload”)]
[产品响应类型(400)]
[产品响应类型(401)]
[产品响应类型(401)]
public IActionResult CreatePersonBatch([FromBody]IEnumerable people)
{
//我知道这是没有必要的
//试着看看它是否有区别。它没有。
如果(!ModelState.IsValid)
{
返回请求(ModelState);
}
//继续创建数据表
}
}
当我和邮递员一起发送以下邮件时

[
{
“LocationId”:0,
“RankId”:0,
“IsStudent”:a,
“IsProspect”:没错,
“IsVendor”:正确,
“IsAppUser”:正确,
“FirstName”:“string”,
“姓氏”:“,
“出生日期”:“2021-03-14”,
“性别”:“字符串”,
“UniformTopSize”:“字符串”,
“UNIFORMBOTOMSIZE”:“字符串”,
“皮带尺寸”:“字符串”,
“日期开始”:“现在”,
“DateLastAttended”:“2021-03-14”,
“IsHoh”:是的
}
]
我得到以下回应:

{
“类型”:https://tools.ietf.org/html/rfc7231#section-6.5.1",
“标题”:“发生了一个或多个验证错误。”,
“状态”:400,
“traceId”:“00-f2bde8fdc701de458f1d86297b7e4813-BDD6628FAB85348-00”,
“错误”:{
“$[0]。iStudent”:[
无法将JSON值转换为System.Boolean。路径:$[0]。ISStudio |行号:4 | BytePositionLine:20
]
}
}
对于遇到的第一个错误,JSON解析器似乎会返回一条不友好的错误消息。我想像DataAnnotation错误一样,向API用户返回一个友好(ier)错误列表。我似乎不知道如何抢占JSON解析器