有关错误400的RESTful API新手问题

时间:2018-11-12 16:02:36

标签: c# asp.net-core-mvc

问题如下:

我在服务器端有一个非常简单的POST方法:

[HttpPost]
[Route("//api/loggeduser")]
public void Post([FromBody] LoggedUser loggedUser)

我正在尝试从客户端调用它:

var loggedUser = new LoggedUser
{
    UserName = userName,
    Logged = true
};

 var json = JsonConvert.SerializeObject(loggedUser);
 HttpClient _httpClient = new HttpClient();
 HttpContent httpContent = new StringContent(json);
 response = await _httpClient.PostAsync("https://localhost:44311/api/loggeduser", httpContent);

我总是收到错误400。我在做什么错?有什么建议么?预先感谢。

3 个答案:

答案 0 :(得分:2)

您的语法无效。您尝试发送的任何信息都不会以服务器愿意接受的方式进行格式化。您需要检查参数,并确保以正确的语法编写参数。

答案 1 :(得分:2)

我认为,如果您告诉StringContent应该使用哪种编码和内容类型,则可能会起作用:

HttpContent httpContent = new StringContent(json, Encoding.UTF8, "application/json");

答案 2 :(得分:1)

您可以尝试将content-type设为application/json

StringContent content = new StringContent(json, Encoding.UTF8, "application/json");