Como llamar una Rest API en Xamarin.Forms(iOS y Android)

 Como consumir un servicio Rest desde Xamarin forms que nos permita recuperar información para mostrar en un listview esta API es de tipo GET 

MainPage.xaml

  •  <StackLayout Padding="12,0,12,12" Spacing="6">
  •         <Button Text="Lamado API" Clicked="Button_Clicked"/>
  •         <ListView x:Name="ListDemo">
  •             <ListView.ItemTemplate>
  •                 <DataTemplate>
  •                     <TextCell Text="{Binding id}" Detail="{Binding title}"/>
  •                 </DataTemplate>
  •             </ListView.ItemTemplate>
  •         </ListView>
  •     </StackLayout>
MainPage.cs

 public class DemoAPI
        {
            public int userId { get; set; }
            public int id { get; set; }
            public string title { get; set; }
            public string body { get; set; }
        }

        private async void Button_Clicked(object sender, EventArgs e)
        {
            var request = new HttpRequestMessage();
            request.RequestUri = new Uri("https://jsonplaceholder.typicode.com/posts");
            request.Method = HttpMethod.Get;
            request.Headers.Add("Accpet", "application/json");
            var client = new HttpClient();
            HttpResponseMessage response = await client.SendAsync(request);
            if (response.StatusCode== HttpStatusCode.OK)
            {
                string content = await response.Content.ReadAsStringAsync();
                var resultado = JsonConvert.DeserializeObject<List<DemoAPI>>(content);

                ListDemo.ItemsSource = resultado;
            }

        }



4 comentarios: