c# – FromBody收到的帖子会导致序列化错误

c# – FromBody收到的帖子会导致序列化错误,第1张

概述这是基本的设置,我有一个asp.net核心webapi控制器(在c#中),它有一个post函数,如下所示: [HttpPost]public ActionResult<string> Post([FromBody] string Name){ //Do some processing with the "Name" argument... return Ok( "Succe 这是基本的设置,我有一个asp.net核心webAPI控制器(在c#中),它有一个post函数,如下所示:

[httpPost]public ActionResult<string> Post([FromBody] string name){     //Do some processing with the "name" argument...     return Ok( "Success!" );}

我正在尝试将以下原始JsON请求体发送到此函数:

{    "name": "Foo"}

但是当使用上面的主体向此函数发送post请求时,我在服务器控制台中找回以下错误

“Executing ObjectResult,writing value of type ‘Microsoft.AspNetCore.Mvc.SerializableError'”

而这个错误在客户端

{
“”: [
“Unexpected character encountered while parsing value: {. Path ”,line 1,position 1.”
]
}

我尝试在函数开头设置一个断点,但它甚至没有触发!为什么我会收到序列化错误?

解决方法 可序列化错误实际上是来自JsON.NET的解析错误,但问题实际上与解析JsON无关.

真正的问题是ASP.NET Core期望将JsON主体解析为对象/ DTO.因此,您可以使用两个选项来解决问题:

>为您的单个参数创建一个简单的DTO容器对象,例如:

public class SimpleObject {     public string name { get; set; } }

>不要在请求体中传递完整的JsON对象,只需使用一个简单的字符串,例如:“我的参数字符串”

总结

以上是内存溢出为你收集整理的c# – FromBody收到的帖子会导致序列化错误全部内容,希望文章能够帮你解决c# – FromBody收到的帖子会导致序列化错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1215056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存