Ionic práctico: App con REST

Usando PUT para modificar registros

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
Lo siguiente va a ser usar el método PUT para hacer modificaciones sobre los registros, así que duplicaremos la función GET, le cambiaremos el método y modificaremos las consultas SQL. También crearemos un segundo servicio para modificar el número de veces que se ve un pájaro.

Transcripción

Los diferentes servicios que voy a ir creando a partir de ahora van a ser bastante parecidos, así que, puedo utilizar algunos de los ya creados, en este caso, este All, y lo voy a transformar para que me sirva para hacer modificaciones, la forma de hacer modificaciones debería ser mediante el método Put, así que sustituyo el Get por un Put. El método en realidad utiliza más o menos los mismos argumentos, en este caso no voy a necesitar ese tercer parámetro "$args". Voy a modificar, por supuesto la ruta, en este caso, voy a sustituir la ruta All, por un "updateVeces" me va a servir para añadir un botón dentro de la aplicación y que cada vez que haga clic en ese botón me añada una nueva vez más de visualización dentro de un punto determinado de los pájaros y por otro lado que sustituya también la fecha en la que se ha hecho la última visualziación, la conexión con la base de datos es igual, también tendré que preparar una consulta SQL y dentro de esta consulta SQL, tendré que hacer modificaciones, por ejemplo, en vez de un Select, pues tendría un Update, de hecho creo que voy a quitarlo todo, y voy a continuar desde aquí. Bien, pues voy a tener un Update sobre la tabla en concreto y voy a sustituir dos campos, voy a sustituir el valor de veces y voy a sustituir el valor de LastView. En este caso en vez de sustituir los parámetros con este "BindParam" pues voy a hacerlo de una manera distinta. Simplemente por variar. Así se va a ver que en realidad podemos programar estas consultas de diferentes maneras. Bueno, pues ya lo tengo, y lo que le pido es que me haga la modificación en el campo donde el identificador es igual al identificador que estoy pasando. No voy a recuperar los parámetros desde aquí, no voy a recuperarlos desde ese "$args" porque esta es una consulta Put, no Get, con lo cual no van a venir montados dentro de la ruta, eso significa que necesitaré recuperarlos de algún otro sitio, y para ello voy a crear un nuevo objeto al que voy a llamar Data y que va a servir para recuperar de este Request, de este envío, los parámetros. El Request es el envío que trae los encabezamientos y los parámetros, y para recuperarlos pues voy a utilizar el método GetParams, así que, aquí tengo esos datos, y aquí debajo lo que tendré que hacer ahora es sustituir cada una de estas interrogaciones por cada uno de los parámetros. En vez de utilizar este Execute, sin pasarle ningún parámetro, lo que puedo hacer ahora es pasarle un Array que va a servir para sustituir todas estas interrogaciones. Las tengo que pasar en el mismo orden en el que viene, entonces, recuperaré de este objeto Data, por un lado el número de veces, le voy a pasar un parámetro y por otro lado, la última visualización. Así que puedo copiar, pegar y sustituir este Veces por LastView. Además, necesito también pasarle el identificador, así que de nuevo, puedo copiar este último trozo, sustituir LastView por ID, por el identificador. Hago la consulta, pido esos datos, pero en este caso también es interesante, porque en realidad yo no voy a necesitar recuperar datos, no voy a devolver ningún dato con lo que ha ocurrido, lo único que necesito devolver a la aplicación el que esta respuesta ha tenido éxito, es una respuesta correcta. Puedo hacerlo de muchas formas distintas, puedo crear un objeto y dentro de ese objeto, añadir una propiedad errónea y que dentro de esa propiedad error, pues meter otro objeto con el texto y todo lo que sea, ponerle, por ejemplo un valor cero, puedo pasarlo como "json" o puedo construir una respuesta directamente, añadir un ResponseRight y dentro de ese ResponseRight, añadir un json directamente, para esto lo que haré será pedir que haya un parámetro de error, que tiene que venir entre comillas, dos puntos, y pasar simplemente el resultado de ese error, por ejemplo, que sea un cero. pues puedo pasar un cero, o una respuesta OK, que significa que está enviando los datos correctamente. Por cierto, estoy viendo también que aquí estoy haciendo ese Response con Json, así que me sobran, tanto este como este Right no son necesarios. Bien, pues lo guardo y lo tengo listo. Pero ahora necesito probar este servicio. Pero no tengo la aplicación preparada, o sea, que hacer pruebas ahora mismo puede ser complicado. Para evitar este problema, hay varias opciones, por ejemplo, si estuviese subiendo estos archivos al servidor final hay servicios online que sirven precisamente para esto, para crear forularios y ver como se envían los datos a través de diferentes métodos. Como estoy trabajando en local, lo que he hecho es crear algunos formularios que se pueden encontrar en los archivos base, dentro de la carpeta de Archivos Iniciales que he pegado en la raíz de nuestro sitio y que sirven precisamente para hacer estos test, de hecho, el que se llama AddVez.HTML se ve que se está enviando UpdateVeces aunque le he sustituido el método y le he añadido un método y le he puesto un método Post, esto es debido a que en la mayoría de los navegadores no se pueden hacer envíos con Put y con Delete, así que sustituyo, en vez de tener un Put aquí, ahora tendremos un Post, y voy a abrir ese documento dentro del navegador. De hecho también he abierto el "PHPMyAdmin" para ver que efectivamente los cambios se realicen. Entonces, por ejempo, sobre el 2 voy a hacer que se vea con un valor diferente. Para ello, voy a actualizarlo, por ejemplo 14 veces con fecha 19, pulso en enviar y aquí vemos que efectivamente me devuelve el valor correcto, y de hecho, si vuelvo a cargar esta página, aquí vemos que también la fecha es 19 y el número de veces es 14, así que ha funcionado correctamente. Ahora, simplemente necesito sustituir este Post por un Put, para dejarlo como estaba. Y esto que acabo de hacer con la modificación del número de veces, también lo puedo hacer de otra manera. Puedo hacer un Update que sirva simplemente para modificar otros parámetros distintos, y es que de hecho, voy a permitir que se pueda modificar tanto el título como el nombre del pájaro, así que sustituyendo estos dos valores, y sustituyéndolos dentro de los parámetros que estoy recibiendo, voy a guardar, tengo un segundo formulario en el cual, bueno, pues también se llamaría este Update a través del Método Post para poderlo probar necesitaría cambiar el método y poner en vez de Put, un Post, pero la idea es exactamente la misma, así que no merece la pena ni probarlo. Ya tengo los servicios para el Put de este Red, es decir los servicios para hacer modificaciones sobre los datos.

Ionic práctico: App con REST

Practica creando una aplicación con Ionic, gracias a la combinación de AngularJS, HTML5 y un back-end basado en PHP para servir datos a tu app así como modificar registros.

3:00 horas (38 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.