当邮递员返回数据时,C#ReadAsAsync返回null
我有一个api,它实际上在内部调用另一个api并将结果传回当邮递员返回数据时,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
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。