示例#1
0
        private static async Task <string> GetBreedURLFromAPIAsync(string breedName)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = DogApiSettings.BaseAddress();
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                try
                {
                    HttpResponseMessage Res = await client.GetAsync(DogApiSettings.BreedRandomImageURL(breedName));

                    BreedImageUrl breeds = new BreedImageUrl();
                    if (Res.IsSuccessStatusCode)
                    {
                        var ApiResponse = await Res.Content.ReadAsStringAsync();

                        breeds = JsonConvert.DeserializeObject <BreedImageUrl>(ApiResponse);
                        return(breeds.ImageUrl);
                    }
                    else
                    {
                        return(DogApiSettings.MissingImageURL());
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex.ToString());
                    return(DogApiSettings.MissingImageURL());
                }
            }
        }
示例#2
0
        public static async Task <BreedsList> GetBreedsFromApiAsync()
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = DogApiSettings.BaseAddress();
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                try
                {
                    HttpResponseMessage Res = await client.GetAsync(DogApiSettings.BreedListURL());

                    if (Res.IsSuccessStatusCode)
                    {
                        var ApiResponse = await Res.Content.ReadAsStringAsync();

                        return(JsonConvert.DeserializeObject <BreedsList>(ApiResponse));
                    }
                    else
                    {
                        return(new BreedsList {
                            Status = "failed", Breeds = new string[] { "unable to retrieve list" }
                        });
                    }
                }
                catch (Exception ex) {
                    Debug.WriteLine(ex.ToString());
                    return(new BreedsList {
                        Status = "error", Breeds = new string[] { "an error occurred" }
                    });
                }
            }
        }