Pop

Curso básico programación C# - 66. Creando nuestro propio buscador (4) - Visual Studio 2017

66. Nuestro propio buscador  de peliculas (4)

 -  En este capítulo del curso de programación en c# con visual studio 2017 ,  continuaremos con nuestro nuevo proyecto consistente en crear nuestro propio buscador. Ya estamos utilizando la API que nos proporciona https://www.themoviedb.org , para realizar consultas  y obtener la información solicitada.

- En este capítulo después de realizar las primeras llamadas a la API empezaremos a definir los objetos necesarios para poder trabajar con los datos que nos develvuelven las diferentes peticiones hechas. En el video muestro como hacemos esto:


  •  A modo de ejemplo os dejo la respuesta de a una de las búsquedas vistas en el video. En este ejemplo hemos hecho una petición buscando la pelicula  Trainspotting , la cual que nos devulve esta respuesta en formato JSON:

{
 "page":1,
 "total_results":3,
 "total_pages":1,
 "results":
 [
    {

     "vote_count":3700,
     "id":627,"video":false,
     "vote_average":7.9,
     "title":"Trainspotting",
     "popularity":26.120268,
     "poster_path":"\/fj9PqztvKLuZh3DA40gsZFiShsY.jpg",
     "original_language":"en",
     "original_title":"Trainspotting",
     "genre_ids":[18,80],
     "backdrop_path":"\/yfNhWKqJFWTRvSo3Qf2x1IFteG3.jpg",
     "adult":false,
     "overview":"Mark Renton es un joven escocés adicto a la heroína, al igual que el resto de sus amigos Todos ellos viven en un mundo aparte, al margen de la realidad.
     Dentro del grupo hay un violento y alcohólico psicópata, un drogadicto desesperado, un mujeriego con un conocimiento enciclopédico de Sean Connery y un entusiasta de las caminatas y de Iggy Pop.",
     "release_date":"1996-02-23"
    },
    {
     "vote_count":1193,
     "id":180863,
     "video":false,
     "vote_average":7,
     "title":"T2: Trainspotting",
     "popularity":12.44352,
     "poster_path":"\/g4lbA6mtdm801mi1LVdTf44G8gQ.jpg",
     "original_language":"en",
     "original_title":"T2 Trainspotting",
     "genre_ids":[80,18],
     "backdrop_path":"\/kR48L1E3OLOkQcnlmpi5wDj7ZZt.jpg",
     "adult":false,
     "overview":"Han pasado 20 años desde que Mark Renton abandonara Escocia, y la heroína. Ahora, Renton vuelve a su Edimburgo natal con el objetivo de rehacer su vida y reencontrarse
     con sus amigos de toda la vida: David \"Spud\" Murphy, y Simon \"Sick Boy\" Williamson; al mismo tiempo que Francis \"Franco\" Begbie sale de la prisión con sed de venganza. Secuela de 'Trainspotting' (1996),
     basada en 'Porno', la siguiente novela de Irvine Welsh, aunque el director Boyle aseguró que el guión de John Hodge no será demasiado fiel al libro.",
     "release_date":"2017-01-27"
    },
    {
    "vote_count":14,
    "id":42758,
    "video":false,
    "vote_average":6.4,
    "title":"Small Faces",
    "popularity":2.356753,
    "poster_path":"\/s9I3gLu9ySsfyM3JvlpSW9KrszF.jpg",
    "original_language":"en",
    "original_title":"Small Faces",
    "genre_ids":[],
    "backdrop_path":null,
    "adult":false,"overview":"",
    "release_date":"1996-04-05"
    }
 ]
}


  • Para manejar mejor la información que nos devulve la API nos creamos una clases con la ayuda de la web https://jsonutils.com/ . Os dejo la clases definidas:
 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace BuscadorWebPeliculas.Clases
{
    public class RespuestaSearch
    {
        public int page { get; set; }
        public int total_results { get; set; }
        public int total_pages { get; set; }
        public IList<Result> results { get; set; }
    }

    public class Result
    {
        public int vote_count { get; set; }
        public int id { get; set; }
        public bool video { get; set; }
        public double vote_average { get; set; }
        public string title { get; set; }
        public double popularity { get; set; }
        public string poster_path { get; set; }
        public string original_language { get; set; }
        public string original_title { get; set; }
        public IList<int> genre_ids { get; set; }
        public string backdrop_path { get; set; }
        public bool adult { get; set; }
        public string overview { get; set; }
        public string release_date { get; set; }
    }
}


  • Finalmente utilizando esta clases  y ayudandonos de la dll NewtonSoft podemos tener la información de una manera más manejable  en el objeto que hemos definido como rest con esta llamada:
  RespuestaSearch rest = JsonConvert.DeserializeObject<RespuestaSearch>(resultado);

No hay comentarios:

Publicar un comentario

Curso .NET Core en C# - 34.Creamos nuestro propio log

34.Creamos nuestro propio log Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de  ASP.NET...