问题描述
这是我生成的服务的代码。一切正常。我获得了照片列表,但我想获得 status_code 并在 viewmodel 中创建逻辑并向用户显示消息。
public async Task<IList<Photo>> GetAllPosts()
{
try
{
if (CrossConnectivity.Current.IsConnected)
{
instagramCloneClient.DefaultRequestHeaders.Clear();
instagramCloneClient.DefaultRequestHeaders.Add("Accept","application/json");
var response = await instagramCloneClient.GetAsync($"/photos");
var status_code=(int)response.StatusCode;
if (response.IsSuccessstatusCode)
{
string jsonMessage;
using (Stream responseStream = await response.Content.ReadAsstreamAsync())
{
jsonMessage = new StreamReader(responseStream).ReadToEnd();
}
IList<Photo> photos = JsonConvert.DeserializeObject<IList<Photo>>(jsonMessage);
return photos;
}
else
{
return null;
}
}
else
{
return null;
}
}
catch (Exception ex)
{
Debug.WriteLine(ex);
string error = ex.Message;
return null;
}
}
我返回照片列表。我还想要 response.StatusCode
到我从中调用函数的 viewmodel
。我必须返回 IList,如何包含一些 int status_code
?最佳做法是什么?
解决方法
您有多种选择。您可以使用 List 和 StatusCode 的整数/枚举创建一个新模型。另一种选择是返回一个 ArrayList 列表。