En este post realizaremos un proyecto en VUE que se conectara a un REST API y utilizara un servicio del mismo para obtener un JSON de respuesta, este luego sera mostrado en pantalla utilizando HTML.
Necesitamos:
Nivel: Intermedio
El API
El API que utilizaremos para el ejemplo se encuentra en http://dummy.restapiexample.com/. Esta web contiene un API REST falso o fake el cual nos sirve para probar en linea nuestra aplicación.
El servicio que utilizaremos se encuentra en la dirección «http://dummy.restapiexample.com/api/v1/employees», utiliza el método GET y el JSON que retorna es de la forma:
{ "status": "success", "data": [ { "id": "1", "employee_name": "Tiger Nixon", "employee_salary": "320800", "employee_age": "61", "profile_image": "" }, .... ] }
El objeto JSON contiene un array DATA en el cual se encuentra la información de empleados.
Paso 1. Proyecto Base
Nuestro proyecto se llama «vjson», el archivo App.vue es el siguiente:
Paso 2. JQuery
Instalamos JQuery con el comando:
npm install jquery --save
A continuación declaramos JQuery en App.vue
const $ = require('jquery');
Paso 3. Servicio GET
Como ya mencionamos más arriba, el servicio que utilizaremos se encuentra en la dirección «http://dummy.restapiexample.com/api/v1/employees», declaramos este en una variable llamado URL:
var URL = 'http://dummy.restapiexample.com/api/v1/employees';
Paso 4. Data
Requerimos un lugar donde almacenar el JSON, declaramos una variable de tipo Object con el nombre de empleados.
empleados:Object
Paso 5. Mounted y JSON
Finalmente utilizamos el método getJSON cuya respuesta sera asignada a nuestra variable empleados. También utilizamos el hook mounted el cual es parte del ciclo de vida de vue. Este en particular es invocado después de que se ha montado la instancia raiz.
mounted(){ var self = this; $.getJSON(URL, function (json){ self.empleados = json; } ); }
Bien, nuestro <SCRIPT> completo a continuación:
Paso 6: Mostrar los datos
Para terminar hacemos uso de HTML para mostrar los datos formateados en pantalla. El código es el siguiente:
<table border="1"> <caption>Empleados</caption> <tr> <th>ID</th> <th>Nombre</th> <th>Salario</th> <th>Edad</th> </tr> <tr v-for="empleado in empleados.data" :key="empleado.id"> <td>{{empleado.id}}</td> <td>{{empleado.employee_name}}</td> <td>{{empleado.employee_salary}}</td> <td>{{empleado.employee_age}}</td> </tr> </table>
Finalmente el código completo del archivo App.vue:
Ya solo nos queda ejecutar la aplicación y obtenemos:
enjoy!
Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.
Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye
Enjoy! :)
La programación y la electrónica están a la orden del día. Cada vez son más importantes y prácticamente forman parte de...
El Tangram es un juego chino muy antiguo, esta compuesto por 7 piezas: un paralelogramo (romboide), un cuadrado y 5 triá...
Bienvenido a este artículo soy Jose Pedraza Desarrollador Web por más de 7 años, escribiré una serie de artículos para i...
En este post aprenderemos los pasos básicos para construir una aplicación android con soporte multilenguaje, utilizaremo...
Un ProgressDialog muestra una ventana con un texto y una barra de progreso que indica el tiempo que tarda una tarea en r...
En un post anterior [Crear plantillas personalizadas para Netbeans] vimos una forma sencilla que tiene Netbeans para fac...
El gigante tecnologico Google a puesto un bonito Doodle en su buscador que esta fascinando a sus millones de usuarios qu...
WhatsApp anuncio a través de su blog que ya se encuentra disponible la función de envío de fotos y videos TEMPORALES, es...
Muchas de las innovaciones computacionales de la NASA se desarrollaron para ayudar a explorar el espacio, pero ahora la...
TikTok es una plataforma de microvideos muy popular entre los jóvenes el cual cuenta ya con millones de videos cortps de...