Это код из службы, которую я сгенерировал. Все работает нормально. Я получаю список фотографий, но хочу получить 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? Какая лучшая практика?

0
Rajzer 21 Фев 2021 в 23:35

1 ответ

Лучший ответ

У вас есть несколько вариантов. Вы можете создать новую модель со своим списком и целым числом / перечислением для StatusCode. Другой вариант - вернуть список.

1
cdsvb 21 Фев 2021 в 21:04