如何修复 HTTP Post 方法的验证错误

问题描述 投票:0回答:2

我已经使用asp.net core 5的默认Web api模板代码创建了一个项目

<TargetFramework>net5.0</TargetFramework>
然后我添加了一个方法来在 WeatherForecastController 中测试发布请求

[HttpPost]
 public ActionResult<string> PostMethod([FromBody]string jsonString)
 {            
     return Ok(jsonString);
 }

如果我删除[FromBody],代码就可以正常工作。如果我添加 [FromBody] 并在正文中输入诸如 swagger 中的 asdfasdf 之类的内容,则会失败并出现 400 状态错误

{ “类型”:“https://tools.ietf.org/html/rfc7231#section-6.5.1”, "title": "发生一个或多个验证错误。", “状态”:400, “traceId”:“00-78bd11a5cea5244998ade80c059479d0-8cb569e070ca0047-00”, “错误”:{ “$”:[ “'a' 是值的无效开头。路径:$ | LineNumber:0 | BytePositionInLine:0。” ] } }

无法弄清楚问题出在哪里!有人可以解释一下造成这种情况的原因吗?如果您能给我指出一些资源来帮助我了解如何完成此验证,那就太好了。这个简单的代码没有完成数据注释。

身材霸气!! :)

提前致谢 穆尔蒂

asp.net-core http-post asp.net-core-webapi
2个回答
1
投票

您的body不是字符串类型,请添加

""
,改为

"xxxxx"

测试结果:


© www.soinside.com 2019 - 2024. All rights reserved.