我如何从response.Content.ReadAsAsync ? 中获取响应主体

问题描述 投票:0回答:1
首先,我是将CWeb解决方案调用外部WebApi的新手。我开始做一个控制台应用程序,在真正理解JSON反序列化的规则和东西之前,不打扰UI。

我创建了一个简单的解决方案,大张旗鼓。我已经对Postman提出了要求,它们都可以工作。在我的解决方案中,我收到“ 200状态”响应,这很好,但是如何从中获取响应正文?

这里是我的对象以及我试图理解并与之交互的代码。

我的响应对象:

public class Response { public ExternalList externalList { get; set;} public string status { get; set; } }

ExternalList类:

{ public string Id { get; set; } public string Name { get; set; } public string Class { get; set; } public string UpdateTime { get; set; } }

我正在尝试与之交互的方法:

static async Task<ExternalList> GetListsAsync(string path) { ExternalList externalList = new ExternalList(); Response externalResponse = new Response(); HttpResponseMessage responseMessage = await client.GetAsync(path); if (responseMessage.IsSuccessStatusCode) { externalResponse = await responseMessage .Content.ReadAsAsync<Response>(); } //return externalList; }

我的请求状态很好:我从responseMessage.IsSuccessStatusCode中得到200。但是我不明白如何以及为什么我无法访问响应正文。始终将externalResponse设置为:

externalList : null, status : OK

我知道有很多关于它的帖子;我读了这些,但解决方案或解释不足以让我理解。我已经在关注this tutorial(对不起,链接指向法语版本,但与英语版本相同)。

首先,我是将CWeb解决方案调用外部WebApi的新手。在真正理解JSON反序列化的规则之前,我开始制作一个控制台应用程序,以免打扰UI,...

c# json.net httpresponsemessage
1个回答
0
投票
当使用json负载时,通常以字符串形式获取内容并将其提供给json(de)serlialiser。
© www.soinside.com 2019 - 2024. All rights reserved.