Hasta el momento hemos probado el funcionamiento de nuestra API utilizando el componente de pruebas de Laravel y nuestro navegador para obtener los datos de un usuario como lo hicimos en la lección sobre Route Model Binding, en este último caso, todo funcionaba bien, pero cuando deseamos enviar una petición de tipo POST , no podemos realizarlo directamente desde la url de nuestro navegador; para ello podemos hacer uso de Postman que es un plugin de Chrome que nos permite simular peticiones web de tipo JSON a través de un formulario en nuestro navegador.
Como hemos visto en lecciones anteriores Laravel nos provee una base bien estructurada para el desarrollo de APIs y gracias al uso del componente de rutas podemos definir recursos con los cuales podemos interactuar fácilmente desde cualquier otra aplicación.
Presentar información en formato PDF es uno de las peticiones más usuales por parte de nuestros clientes ya sea para informes privados o algún reporte hacía los usuarios que ocupan el sistema.
En un post anterior @jeffer8a nos mostró cómo hacer uso del paquete DomPdf desarrollado por barryvdh, pero algunas veces tenemos que usar una plantilla HTML diseñada con Foundation o Bootstrap para generar el PDF . Este es un inconveniente con DomPDF ya que no permite el uso de este tipo de framworks. Es ahí donde puede usarse el Laravel-Snappy , el cual es un Service Provider de Snappy.
En muchas oportunidades nuestros clientes nos obligan a usar un servidor compartido para un proyecto en Laravel, sin embargo, la mayoría de estos servidores no ofrecen soporte a control de versiones como Git o acceso remoto vía SSH, por lo que para hacer deployment (puesta en producción) de un proyecto sólo tenemos la opción de hacerlo vía FTP. Pero esto puede resultar un dolor de cabeza, pues a medida en que avanzamos en el desarrollo cuando tenemos que actualizar los cambios en el servidor ¿Cuáles fueron los archivos que editamos y deberíamos subir? ¿Que pasa si olvidamos un archivo o sobreescribimos el que no era?
En estos casos nos podemos ayudar con una herramienta para hacer el deployment, la cual se encargará de manejar la subida del proyecto con menos complicaciones y usando la única opción que tenemos FTP. En esta oportunidad veremos cómo poner en producción un proyecto con la herramienta DeployBot.
En la clase anterior creamos un CRUD básico devolviendo una respuesta en formato JSON para cada uno de los métodos de nuestro controlador de usuarios, pero sólo tomamos en cuenta el posible caso de que los datos fuesen validos y no se encontrara ningún error durante la ejecución. Ahora, en esta lección vamos a agregar las validaciones correspondientes para manejar otros posibles escenarios.
En la lección anterior aprendimos sobre la estructura básica de una API REST con Laravel 5.1 mediante la creación de recursos, en esta ocasión vamos a agregar la lógica correspondiente al recurso de usuarios que nos permita crear, almacenar, modificar y eliminar un registro.
Para verificar que todo se ejecute correctamente haremos uso del componente de pruebas de Laravel, en este caso no explicaremos en detalle cómo se utiliza dicho componente pero si estas interesado en aprender un poco más de él puedes ingresar al curso Curso introductorio de Laravel 5.1 dónde encontraras una sección completa dedicada a este tema.
Una API puede considerarse como un conjunto de funciones y rutinas diseñadas para ser utilizadas por otro software, lo que ofrece una gran ventaja a la hora del desarrollo de aplicaciones multiplataforma pues de esta forma podemos concentrar toda la lógica del negocio en un solo lugar accesible desde muchas otras aplicaciones o programas.
Cuando se habla de desarrollo de aplicaciones web y específicamente de desarrollo de una API para la web aparece el término REST (Representational State Transfer)
REST es un estilo de arquitectura software para sistemas hipermedia distribuidos como la World Wide Web
Cuya definición en un sentido más amplio se usa para:
Describir cualquier interfaz entre sistemas que utilice directamente HTTP para obtener datos o indicar la ejecución de operaciones sobre los datos, en cualquier formato (XML, JSON, etc)
De ahí el término API REST, dónde se engloban todas aquellas aplicaciones diseñadas para ser accesibles desde otros programas a través del protocolo web.
A medida que avanzamos en el desarrollo de una aplicación puede que las tablas o los campos creados en la base de datos ya no se adapten o que simplemente necesitamos hacer algunos cambios. Sin embargo, para ese momento no es posible hacer rollback a las migraciones hechas, pues, por ejemplo, la aplicación ya está en producción. Por consiguiente, para modificar la base de datos debemos hacer uso de las migraciones, tal y como lo hicimos al crear las tablas, pero ahora para cambiarlas. Hoy vamos a ver cuáles opciones tenemos disponibles para ello.
Otra de las características que podemos encontrar en el componente Styde\Html es el de traducir textos ya sea mensajes de error, notificaciones, etiquetas de los formularios y los elementos de un menú de una manera muy sencilla. Con ello podemos implementar más de un idioma para nuestras aplicaciones y según las necesidades de los usuarios o te facilita el trabajo si prefieres tener todos los textos de la aplicación en un solo lugar.
En un post anterior les hablaba sobre Cómo subir archivos con Laravel 5 usando la clase Storage(), el día de hoy les enseñaré un ejemplo básico de cómo usar Dropzone, una librería en javascript que permite la subida de archivos con drag and drop.
Styde usa cookies para guardar tus preferencias y para seguimiento anónimo AceptarLeer más
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.