我有问题让我头疼,PostAsJsonAsync方法返回500内部服务器错误,但该方法尝试发送的JSON是正确的,因为当我使用Postman时我发送相同的JSON和服务器收到它,我读了我发现的关于这个主题的所有问题,我无法找到问题所在,我作为localhost运行,这是代码片段:
client.BaseAddress = new Uri(endPoint);
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.TryAddWithoutValidation("ZUMO-API-VERSION",2.0.0");
client.DefaultRequestHeaders.TryAddWithoutValidation("RM-EXT-KEY", key);
var content = new StringContent(JsonConvert.SerializeObject(NotifiedUser),
Encoding.UTF8, "application/json");
var response = await client.PostAsJsonAsync(endPoint, content);
我已经检查过并且两个实例的TryAddWithoutValidation都返回true,因此PostAsJsonAsync方法的每个参数都是正确的。
谢谢!
答案 0 :(得分:0)
您是否尝试过client.SendAsync而不是client.PostAsJsonAsync(endPoint,content)? 我有类似的问题与外部java服务交谈,PostAsJson返回400,改为
var request2 = new HttpRequestMessage(HttpMethod.Post,uri) { Content = new StringContent(JsonConvert.SerializeObject(apdRequest),Encoding.UTF8, "应用/ JSON&#34) };
var response = client.SendAsync(request2).Result;
它开始工作..它似乎与PostAsJson没有正确的事情