在Startup.cs中的ConfigureServices中添加以下配置:
services.AddControllers().AddNewtonsoftJson(options => { options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; });
在控制器中的方法中使用FromBody时使用Newtonsoft.Json进行序列化反序列化,示例代码如下:
[HttpPost] public IActionResult AddItem([FromBody] Item item) { var json = JsonConvert.SerializeObject(item); var result = _itemService.AddItem(json); return Ok(result); }
请确保确定为ContentType:application-json,否则RequestBody返回Null报错。并且,反序列化是失败的。