我在Controller中有我的行动:
[HttpPost]
public JsonResult SignUp(DTOUser dtoUser)
{
return Json(new string[] { "value1", "value2" } );
}
我在Startup.cs
services.AddMvcCore(options => {
options.InputFormatters.Insert(0, new JilInputFormatter());
options.OutputFormatters.Insert(0, new JilOutputFormatter());
});
这里的问题是我的dtoUser
包含所有变量null
,直到我指定[FromBody]
为什么我每次都必须指定FromBody
。这在Asp.Net 4旧版本中从未被要求过。
如何解决此问题。这只是在我将要开发的项目中添加FromBody到100多个操作的额外开销。在任何全球的地方,我可以添加这个东西以保持它的快乐吗?
谢谢!
答案 0 :(得分:1)
更改为处理跨站点请求伪造(CSRF)问题。如果您没有指定[FromBody],它将不会自动绑定到正文中传递的参数。
Andrew Lock在这个主题上发表了一篇很棒的帖子:https://andrewlock.net/model-binding-json-posts-in-asp-net-core/