Vamos a actualizar nuestra Política de privacidad próximamente. Te recomendamos consultar el avance.

Swift 3: Integración con tecnologías backend

Implementación del servicio web en Python y Django

¡Prueba gratis durante 10 días

nuestros 1289 cursos !

Prueba gratis Mostrar modalidades de suscripción
En este video implementaremos la misma estructura REST que tenemos de un usuario para cumplir con la especificación de nuestros servicios. Utilizaremos un framework especializado que nos ayudará, gracias a los serializadores, a exponer todas las propiedades de nuestro usuario.

Transcripción

Muy bien. Pues ahora vamos a implementar nuestros servicios en Python. Recuerden que estamos utilizando Python de Django y Django REST Framework para poder estar generando nuestros "endpoints", igual que como los tenemos en otros "backends". Al igual que en otros "backends", vamos a estar utilizando la definición que ya tenemos de nuestros servicios. Y, propiamente, vamos a estar simplemente apagando un servidor y prendiendo el otro. En este caso, lo que vamos a hacer es empezar a modificar la implementación de nuestros servicios en Python. Si te fijas, aquí tengo la configuración de mi proyecto. Y, por otro lado, tengo la configuración de mi aplicación "restapp". Lo primero que vamos a hacer es editar los "settings". Y en estos "settings" de "CoffeeTablePython", lo que tengo que buscar es esta sección donde dice "INSTALLED_APPS". En esa sección tengo que agregar la palabra "rest_framework" y la palabra "restapp". La primera es para poder acceder a los módulos que están dentro de REST Framework, que es la librería que estamos utilizando y, la segunda, es para nosotros, para traernos toda nuestra aplicación de "restapp". Ya que tenemos esto, lo que debemos empezar a hacer es definir nuestro modelo. Para definir nuestro modelo, necesitamos crear, en el archivo de "models", de nuestra aplicación, esta pequeña clase, en donde voy a definir todos los campos que yo voy a estar utilizando. Como, por ejemplo, nombre, edad, país, verificada, nombre de usuario y contraseña. Algunos van a tener diferentes tipos como "CharField", "IntegerField" o "BooleanField". Y lo más importante es que todos necesitan que tú les definas cómo se van a llamar y, en algunos casos, cuál es el largo de estos campos. Aquí yo estoy utilizando "_str" para poder regresar el "username" y poder depurarlo más adelante. Puede ser que lo ocupes o puede ser que no, pero en realidad es muy, muy útil. Ahora, ya que tenemos este modelo, lo que vamos a hacer es correr y hacer las migraciones. Django tiene una manera muy específica de hacerlo Primero, en la terminal, yo voy a tener que ejecutar un comando para hacer la migración. En este caso, el comando es "python 3 manage.py makemigrations". Y lo que va a hacer es que va a crear este pequeño archivo que se llama "Initial.py". Si yo me voy aquí, mi proyecto en la aplicación dice "migrations" y aquí tengo "initial.py". Y aquí me va a hacer todo el "script" que necesita para generar la migración. Ahora, por otro lado, necesito correr y ejecutar esta migración para que se aplique en la base de datos de SQLite que yo ya tengo. Así que lo siguiente que voy a hacer es "python3 manage.py migrate". Y va a correr todas las migraciones que tiene pendientes. Hay algunas que ya están escritas como, por ejemplo, las de "restapp" o la "session", pero ahí también va a estar nuestra migración que es la 001. Esta de aquí. Ahora, ya que lo tenemos, lo siguiente que hay que hacer es empezar a escribir el serializador de estos usuarios. ¿Qué es un serializador? Bueno, un serializador es una clase que nos va a permitir acceder a nuestro modelo y traer los datos que nosotros vamos a querer ver dentro de nuestra aplicación. ¿Como cuáles? Bueno, como, por ejemplo, el "id", el nombre, la edad, el país, si la cuenta es verificada, el "username" y el "password". Esto lo va a hacer a través de una clase que vamos a llamar "user", el "serializer" y se va a traer todo, todos los datos que vamos a traer de nuestro modelo "user". Ahora, es muy importante que identifiques que el "serializer" lo tengo que traer desde el "rest_framework". Esta documentación la puedes ver dentro de la biblioteca de Django REST Framework. Una vez que ya tenemos este serializador, lo siguiente que hay que hacer es ver cómo vamos a representar la respuesta de nuestros servicios. Esto lo vamos a hacer dentro del archivo "views.py". En "views.py" lo que vamos a hacer es, nos vamos a traer los "shortcuts", nos vamos a traer los "viewsets", nos vamos a traer nuestro modelo y nos vamos a traer el serializador que acabamos de escribir. Este serializador, lo que va a hacer simplemente es traernos un "query", en donde yo los voy a ordenar por"id". Me voy a traer todos los usuarios ordenados por "id". Y de ahí, le voy a pasar al "serializer class", el "user serializer", que es el que va a estar iterando todos nuestros objetos. Ya que tenemos esta vista para los usuarios, ya podemos empezar a revisar cuáles son las entradas a nuestra aplicación. Y por entradas, me refiero a todas las "url" o los rutas que vamos a tener accesibles en nuestra aplicación. Esto lo vamos a ver en el archivo de "urls.py", que puede estar aquí a nivel del proyecto o lo puedes tener a nivel de la aplicación. Lo que vamos a necesitar es agregar simplemente a los "routers" la palabra "users" y traernos el "UserViewSet" para, después, ponerlos después de la palabra "api". Esto quiere decir que vamos a tener "/raíz/api" y adentro vamos a tener "users". Y el que va a estar encargado de estar respondiendo esto es "UserViewSet". Este "UserViewSet" es el que nosotros definimos dentro de nuestros "views". Este de aquí. Ahora, todo esto es muy sencillo. Lo único que necesitamos hacer es levantar nuestro servidor de aplicaciones. ¿Cómo lo vamos a levantar? Muy sencillo. Me voy a pasar a mi terminal. Voy a escribir "python3 manage.py runserver". Y listo. Ya está levantado mi servidor. Ahora, cómo sé que esto va a estar funcionando. Bueno, pues muy sencillo. Me voy a ir a "Postman". Como yo ya tengo guardadas todas mis peticiones, lo que voy a hacer es hacer la primer petición que es la de todos los usuarios. Y me dice: "Oye, ¿qué crees? Todo está vacío". Esto es correcto porque la base de datos está completamente vacía. Recuerda que aquí en los encabezados nos va a decir cuáles son las respuestas, cuáles son los tiempos. Y, aquí en los encabezados de la petición, necesitamos decirle que nuestra petición está hecha con JSON y que aceptamos de respuesta un JSON de vuelta. Ahora, en "new user" voy a crear mi nuevo usuario. Tenemos los mismos encabezados, pero aquí en el cuerpo voy a escribir el de "raw" y le voy a decir que es un formato JSON. Le voy a pasar los datos que yo necesito guardar y le voy a dar "Enviar". Cuando le de "Enviar", me va a decir: "201 creado". Y, en este caso, nos está regresando el objeto con el nuevo "id" que yo ya le estoy asignando. Vamos a crear un segundo usuario. Aquí tengo unos datos diferentes. Los voy a volver a enviar. Y aquí ya me está regresando el nuevo "id". De esta manera, yo ya tengo completamente toda la petición y todo lo que se está guardando en la base de datos. Ahora, si yo pido todos los usuarios, ya me entrega un arreglo con todos los elementos que yo necesito dentro de mi colección de usuarios. Ahora, por favor, revisa que, a diferencia de Laravel, Laravel guarda los booleanos como 1 y 0 y Python sí los guarda correctamente como "True" o "False". Ahora. ¿qué pasa si yo quiero hacer la consulta del usuario número 1? Bueno, pues, simplemente, utilizo la misma "api" para poder estar regresando el número 1 o el "id" numero 1 o, en este caso, el "id" número 2. De esta manera, nosotros podemos tener nuestra aplicación en Django. Y, si te fijas, es un "framework" completamente diferente, en donde las cosas funcionan completamente diferentes, pero mientras estemos cumpliendo nuestro contrato de aplicaciones "rest", todo va a poder funcionar de manera igual. Esto es muy importante que lo sepas porque esa es la principal ventaja de poder estar escribiendo los contratos y de estar escribiendo la documentación. No importa qué lenguaje sea el que utilices, tú vas a poder estar cumpliendo la documentación y todos tus clientes se van a estar comunicando a través de un estándar que es el formato JSON y las peticiones HTTP.

Swift 3: Integración con tecnologías backend

Aprende a vincular tus aplicaciones web creadas con Swift 3 con el servidor, comienza a enviar información entre ambos y aprovecha esto al máximo dentro de tus sistemas.

3:08 horas (27 Videos)
Actualmente no hay comentarios.
 

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.