Y cuando se abra la consola ejecutamos el comando "install-package microsoft.net.http –pre". No olviden seleccionar correctamente el proyecto donde se instalará el paquete.
En ese momento estamos listos para empezar. Pues bien consumir un servicio Json a través del GET como los que tenemos en el API de Congreso Visible es bastante sencillo.
Como ven, en realidad el consumo de Json es muy fácil, instanciamos el HttpClient y a través de una petición asincrónica realizamos el consumo de los datos y por ultimo serializamos la respuesta y depositamos el contenido en una clase que contiene la estructura del Json que consumimos y que habiamos creado previamente.
Debemos recordar que los servicios tienen que tener la interfaz correcta, sin embargo quiero que observen algo en ella.
Y para completar la implementación, así como tenemos un BindableBase para las Vista Modelo, tendremos un ServiceBase en Infraestructura para soportar el GetService y poder recuperar del contexto nuestro servicio de Settings, así:
Recuerden que para que el llamado a los settings funcione, deben inicializar el servicio en el Locator, al que por cierto renombré.
Ahora bien, después de que nos llega el resultado a la Vista Modelo, necesitamos transformar el Modelo a una VistaModelo en el comando
De esta manera nuestro codigo queda más limpio. El ViewModelHelper lo ubiqué en el proyecto de Vistas Modelo y su implementación para el ejemplo es la siguiente:
Tengan en cuenta que lo que efectivamente hace el Binding es la ultima línea, debido que al asignar la variable Parties en el contexto se ejecutará el INotifyPropertyChanged, diciendo a la vista que hay datos disponibles.
Este ejemplo se finaliza el consumo de datos y ya pueden verlo en el código que se encuentra publicado, si se preguntan como se inicializa la carga en el inicio de la aplicación decidi hacerlo de la siguiente forma:
Esto permite que el inicio de la aplicación sea fluido y que la carga de datos solo inicie cuando la carga de la página haya finalizado y así se ven los partidos cargados :)
2 comentarios:
Hola con las apps Universal cual seria el caso para consumir servicios de JSON.
Hola, Yolger
Puedes hacer exactamente lo mismo, las apps universales tienen cambios arquitectónicos de la plataforma y en forma de construccion, pero con respecto al uso de HttpClient para consumir servicios JSON no hay ningun cambio o noverdad en especial que resaltar.
Publicar un comentario