如何修复来自 HTTP Post 方法的验证错误
How to fix the Validation Error from HTTP Post method
我已经使用 asp.net 核心 5 的默认 Web api 模板代码创建了一个项目
<TargetFramework>net5.0</TargetFramework>
然后我添加了一个方法来测试 WeatherForecastController
中的 post 请求
[HttpPost]
public ActionResult<string> PostMethod([FromBody]string jsonString)
{
return Ok(jsonString);
}
如果我删除 [FromBody] 代码工作正常。如果我添加 [FromBody] 并在 body 中键入一些内容,例如来自 swagger 的 asdfasdf,它将失败并出现 400 状态错误
{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "00-78bd11a5cea5244998ade80c059479d0-8cb569e070ca0047-00",
"errors": {
"$": [
"'a' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0."
]
}
}
无法弄清楚问题出在哪里!有人能解释一下是什么原因造成的吗,如果你能指出一些资源来帮助我理解这个验证是如何完成的,那就太好了。这个简单的代码这里没有做数据注释。
Body 招摇!! :)
提前致谢
穆尔蒂
您的正文不是字符串类型,请添加""
,改为
"xxxxx"
测试结果:
我已经使用 asp.net 核心 5 的默认 Web api 模板代码创建了一个项目
<TargetFramework>net5.0</TargetFramework>
然后我添加了一个方法来测试 WeatherForecastController
[HttpPost]
public ActionResult<string> PostMethod([FromBody]string jsonString)
{
return Ok(jsonString);
}
如果我删除 [FromBody] 代码工作正常。如果我添加 [FromBody] 并在 body 中键入一些内容,例如来自 swagger 的 asdfasdf,它将失败并出现 400 状态错误
{ "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "title": "One or more validation errors occurred.", "status": 400, "traceId": "00-78bd11a5cea5244998ade80c059479d0-8cb569e070ca0047-00", "errors": { "$": [ "'a' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0." ] } }
无法弄清楚问题出在哪里!有人能解释一下是什么原因造成的吗,如果你能指出一些资源来帮助我理解这个验证是如何完成的,那就太好了。这个简单的代码这里没有做数据注释。
Body 招摇!! :)
提前致谢 穆尔蒂
您的正文不是字符串类型,请添加""
,改为
"xxxxx"
测试结果: