问题如下:
我在服务器端有一个非常简单的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。我在做什么错?有什么建议么?预先感谢。
答案 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");