gpt4 book ai didi

json - ASP.NET WebApi 4 Post FromBody 不从 JSON 绑定(bind)

转载 作者:行者123 更新时间:2023-12-04 02:56:39 24 4
gpt4 key购买 nike

我有一个简单的问题。我正在 ASP.NET WebApi 4 中构建 HTTP REST 服务,但在使我的模型绑定(bind)正常工作时遇到了一些问题。

我正在使用以下代码接受 POST HTTP 请求并处理登录。据我所知,ASP.NET WebApi 4 将为您反序列化 JSON 并绑定(bind)到接受的模型。我已经设置了我的模型,但是每当我通过调试器测试服务时,我都会在 UserPostData 对象上得到一个 NullReferenceExecption。

据我所知,我的所有设置都正确无误,但就是无法正常工作。下面是我发布的 JSON。有谁知道我为什么会收到此错误?

JSON[ { "用户名": "mneill", “密码”:“12345” }]

来自 WebApi 4 Controller 类的代码

public class UserPostData
{
public string Username { get; set; }
public string Password { get; set; }
}

public class UserController : ApiController
{
//
// GET: /User/

public string[] Get(string username)
{
return new string[]
{
"username",
username
};
}

public HttpResponseMessage Post([FromBody] UserPostData body)
{
//string username = postData.Username;
//string password = postData.Password;

HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);

if (body.Username == null)
response.StatusCode = HttpStatusCode.NotFound;
if (body.Password == null)
response.StatusCode = HttpStatusCode.NotFound;

return response;
}
}

最佳答案

确保您的请求中存在 Content-Type header 。

修改你的 Json 如下:

{ "Username": "mneill", "Password": "12345" }

并且还在您的 Post 操作中添加以下代码以查看任何模型绑定(bind)错误:

if (!ModelState.IsValid)
{
throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, this.ModelState));
}

关于json - ASP.NET WebApi 4 Post FromBody 不从 JSON 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16573526/

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