public async Task <List <GradMajors> > GetGradDegrees() { using (var client1 = new HttpClient()) { client1.BaseAddress = new Uri("http://www.ist.rit.edu/"); client1.DefaultRequestHeaders.Accept.Clear(); client1.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); try { HttpResponseMessage response = await client1.GetAsync("api/degrees/graduate", HttpCompletionOption.ResponseHeadersRead); response.EnsureSuccessStatusCode(); var data = await response.Content.ReadAsStringAsync(); // Above three lines can be replaced with new helper method below // string responseBody = await client.GetStringAsync(uri); var rtnResults = JsonConvert.DeserializeObject <Dictionary <string, List <GradMajors> > >(data); Console.WriteLine(rtnResults); List <GradMajors> GradList = new List <GradMajors>(); GradMajors GradMajors = new GradMajors(); foreach (KeyValuePair <string, List <GradMajors> > kvp in rtnResults) { foreach (var item in kvp.Value) { GradList.Add(item); } } GradList.RemoveAt(3); return(GradList); } catch (HttpRequestException hre) { var msg = hre.Message; List <GradMajors> GradMajorsList = new List <GradMajors>(); return(GradMajorsList); } catch (Exception ex) { var msg = ex.Message; List <GradMajors> GradMajorsList = new List <GradMajors>(); return(GradMajorsList); } } }
public async Task <List <GradMajors> > GetGradDegrees() { using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://www.ist.rit.edu/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); try { HttpResponseMessage response = await client.GetAsync("api/degrees", HttpCompletionOption.ResponseHeadersRead); response.EnsureSuccessStatusCode(); var data = await response.Content.ReadAsStringAsync(); var rtnResults = JsonConvert.DeserializeObject <Dictionary <string, List <GradMajors> > >(data); List <GradMajors> gradList = new List <GradMajors>(); GradMajors grad = new GradMajors(); foreach (KeyValuePair <string, List <GradMajors> > kvp in rtnResults) { foreach (var item in kvp.Value) { gradList.Add(item); } } return(gradList); } catch (HttpRequestException hre) { var msg = hre.Message; List <GradMajors> gradList = new List <GradMajors>(); return(gradList); //return "HttpRequestException"; } catch (Exception ex) { var msg = ex.Message; List <GradMajors> gradList = new List <GradMajors>(); return(gradList); //return "Exception"; } } }