我有一个简单的POST请求主体类:
[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
{
[HttpPost]
public IActionResult Post(PostRequest request)
{
return Ok();
}
}
public class PostRequest
{
[Required]
public String String { get; set; }
}
如果我发送一个int而不是一个string,则会返回以下错误消息:
"$. string":["JSON值无法转换为System.String。路径:$.字符串|行号:1|行内字节位置:13."]}
我不觉得公开幕后发生的事情是正确的。有没有办法返回一个通用的"The field String is invalid"消息?
2条答案
按热度按时间ctzwtxfj1#
此错误来自SystemTextJsonInputFormatter内部的
System.Text.Json.JsonSerializer
,在将请求正文反串行化到模型中时发生,您可以如下所示禁用它:您将释放如下错误消息:
wh6knrhe2#
我不确定,但也许这会对你有所帮助。将以下代码粘贴到方法的最开头: