gpt4 book ai didi

asp.net-mvc - Asp.net core MVC post 参数始终为空

转载 作者:行者123 更新时间:2023-12-03 13:28:18 25 4
gpt4 key购买 nike

我是 MVC 核心的新手。

我创建了一个带有 MVC 核心的项目,它有一个 Controller 。此 Controller 具有 Get 和 Post 操作方法。如果我使用查询字符串将数据传递给 Get 方法,它可以正常工作,但是当我将复杂的 JSON 传递给 post 方法时,它总是显示为空。

这是我在做什么:

发布请求

URL: http://localhost:1001/api/users
Content-Type: application/json
Body:
{
"Name":"UserName",
"Gender":"Gender of the user",
"PhoneNumber":"PhoneNumber of the user"
}

这是 Post 操作方法
[HttpPost]
[Route("api/users")]
public async Task<IActionResult> Post([FromBody]User newUser)
{
...
}

当调用 post 请求时,则 新用户 总是显示我为空。如果我删除 [发件人] 属性然后我收到 newUser 对象,但它的所有字段都是空的。

请帮助我并指导我解决这个问题。

已编辑

这是我的 用户 类(class)
public class User{

public int Id { get; set; }
public string Name { get; set; }
public string Gender { get; set; }
public string PhoneNumber { get; set; }
}

我做了和描述的一样的 here对于 json 数据,但仍然接收 null。

最佳答案

这可能是因为如何处理空值。在 AddJsonOptions 中将 NullValueHandling 设置为 Ignore 并查看是否有效。

public void ConfigureServices(IServiceCollection services)
{
services
.AddMvc()
.AddJsonOptions(jsonOptions=>
{
jsonOptions.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
});
}

关于asp.net-mvc - Asp.net core MVC post 参数始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38455954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com