Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当邮递员返回数据时,C#ReadAsAsync返回null_C#_.net_Asp.net Core - Fatal编程技术网

当邮递员返回数据时,C#ReadAsAsync返回null

当邮递员返回数据时,C#ReadAsAsync返回null,c#,.net,asp.net-core,C#,.net,Asp.net Core,我有一个api,它实际上在内部调用另一个api并将结果传回 httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", BearerToken); HttpResponseMessage response = await httpClient.GetAsync(fullUrlPath); if (response.IsSuccessStatusCo

我有一个api,它实际上在内部调用另一个api并将结果传回

httpClient.DefaultRequestHeaders.Authorization =
     new AuthenticationHeaderValue("Bearer", BearerToken);

HttpResponseMessage response = await httpClient.GetAsync(fullUrlPath);
if (response.IsSuccessStatusCode)
{
     return Ok(await response.Content.ReadAsAsync<Sheet>());
}
return BadRequest();
httpClient.DefaultRequestHeaders.Authorization=
新身份验证HeaderValue(“持票人”,持票人);
HttpResponseMessage response=等待httpClient.GetAsync(fullUrlPath);
if(响应。IsSuccessStatusCode)
{
返回Ok(等待响应.Content.ReadAsAsync());
}
返回请求();

它点击
响应。IsSuccessStatusCode
并进入
ReadAsAsync
方法,但数据返回null。我在《邮递员》上也做了同样的测试,得到了数据。我不确定这是否是我遗漏的语法。数据对象是从邮递员响应中复制的。

您是否查看了api获得的原始(未解析为工作表对象)响应与邮递员获得的原始响应?这将是我的第一步,你发布的代码是正确的。里面没有任何东西会给我们带来问题。如果
ReadAsAsync()
返回null,则表示您的模型错误,或者返回的数据错误。您应该将其更改为
ReadAsStringAsync()
,并在调试器中查看JSON-as-a-string,并确保它与
工作表
模型匹配。我甚至可能会冒昧地说,您没有添加
Accept:application/json
头,而是返回XML或其他内容。issusccessstatuscode表示http消息正在接收200 OK状态。所以有两件事发生了1)响应中没有主体2)主体不符合表格的格式。通常,当邮递员工作时,请求在c#中与邮递员不同。c#中的默认HTTP头与Postman不同。因此,您必须确保在请求中添加与Postman不同的HTTP头。HTTP发送请求,然后返回响应。一个不好的回复通常是由于一个不好的请求。谢谢大家。这是两件事。一个是需要添加内容类型app/json,另一个是我需要将sheet对象中的属性从int更改为long。