Desarrollo de una API con Laravel utilizando paquetes
En este curso aprenderemos a desarrollar, con TDD, una API que se adhiera a la especificación JSON:API utilizando paquetes adicionales.
Resumen del curso
- De principiante a experto
- 7h 11m de video HD
- 56 lecciones
- Ejercicios prácticos
- Acceso de por vida
- Aprende a tu propio ritmo
Lecciones cortas, concisas y precisas.
No te quemes en búsquedas exhaustivas que te impiden lograr tus metas.
En Aprendible obtienes:
- Lecciones que optimizan tu aprendizaje en menor tiempo
- Audios y videos de alta calidad
- Explicaciones paso a paso, sin rodeos, ni balbuceos.
Construye desde HOY tu camino como Desarrollador Web Moderno
Contenido del curso
7h 11m de contenido, 56 lecciones
En esta lección instalamos una nueva aplicación de Laravel y creamos los modelos, migraciones y factories con ayuda de Blueprint.
En esta lección aprenderemos a utilizar Laravel Resources para listar recursos siguiendo la especificación JSON:API, y también veremos cómo mantener una API con múltiples versiones.
En esta lección veremos cómo ordenar recursos de forma ascendente y descendente adhiriéndose a la especificación JSON:API.
En esta lección terminamos la implementación de ordenar recursos y lo extraemos a un Trait que podamos reutilizar en cualquier modelo.
En esta lección aprendemos a modificar la paginación que viene por defecto en Laravel para que se adhiera a la especificación JSON:API
En esta lección reestructuramos la paginación y el orden artículos en macros y mixins para poder reutilizarlos en diferentes modelos.
En esta lección implementamos varios filtros para artículos siguiendo la especificación JSON:API.
En esta lección aprendemos a transformar los parámetros que recibimos de la url, en scopes de Eloquent que nos permitan modificar las consultas a la base de datos.
En esta lección aprendemos a implementar un filtro de búsqueda siguiendo la especificación JSON:API
En esta lección vemos cómo instalar y configurar el paquete Laravel Json API que nos ayudará a acelerar el proceso de creación de una API adherida a la especificación JSON:API con Laravel.
En esta lección aprendemos qué son y cómo utilizar los Schemas, Adapters y Validators del paquete Laravel Json Api, utilizando el recurso articles.
En esta lección aprendemos a crear recursos siguiendo la especificación JSON:API y cómo probar las reglas de validación.
En esta lección implementamos la autenticación API y relacionamos automáticamente al usuario autenticado con el artículo al momento de su creación.
En esta lección creamos una regla de validación personalizada que verifique que los slugs se almacenen en el formato correcto en la base de datos y así poderlos utilizar como identificadores y en las urls.
En esta lección verificamos mediante tests que solo los usuarios autenticados puedan actualizar artículos y solucionamos el problema de validación del slug único.
En esta lección utilizamos Authorizers para verificar que los usuario sólo pueden editar los artículos que ellos mismos han escrito.
En esta lección permitimos que sólo los usuarios autenticados puedan eliminar sus artículos y que no puedan eliminar artículos de otros.
En esta lección reestructuramos el archivo de rutas api y aprendemos cuándo utilizar el código de respuesta HTTP 401 y 403 y qué representa cada uno.
En esta lección repasaremos el proceso de definir de un recurso API implementando el recurso authors, que internamente apuntará al modelo User que ya tenemos.
En esta lección implementamos UUIDs V4 en el modelo Author para utilizarlo como identificador en nuestra API
En esta lección habilitamos la inclusión de autores relacionados con los artículos, y así poder pre-cargarlos cada vez que los necesitemos
En esta lección modificamos la respuesta de los artículos para agregar los links de la relación con los autores, como lo indica la especificación JSON:API
En esta lección hacemos funcionar los links de la relación con los autores para que en uno nos devuelva el objeto recurso y el otro el objeto identificador de recurso.
En esta lección evitamos que cualquier usuario pueda cambiar el autor de un artículo. También revisamos por qué algunos tests fallan eventualmente.
En esta lección actualizamos paso a paso nuestra API de la versión 7 a la versión 8 de Laravel.
En este video continuamos con la actualización a Laravel 8 actualizando los factories y los seeders a la nueva versión.
En esta lección, mediante tests, habilitamos las rutas index para ver el listado de categorías y la ruta read, o show, para ver una categoría específica.
En esta lección habilitamos los endpoints para la creación, actualización y eliminación de categorías en nuestra API, como siempre, adhiriéndose a la especificación JSON:API
En esta lección permitimos que desde el recurso articles se pueda incluir su categoría y autor asociados y desde el recurso categories se puedan incluir todos sus artículos relacionados.
En esta lección permitimos filtrar artículos por una o varias categorías utilizando filtros, y siguiendo la especificación JSON:API.
En esta lección implementamos el envío y almacenamiento de la relación con las categorías al momento de crear o actualizar un artículo.
En esta lección corregimos el problema de asignación masiva que tenemos actualmente en el recurso articles.
En esta lección vamos a extraer la lógica de adjuntar el usuario autenticado al artículo, ya que a futuro, es probable que queramos que un usuario administrador por ejemplo, cree artículos en nombre de otro usuario, pues, con la implementación actual no podemos hacerlo, así que vamos a reestructurar.
En esta lección vamos a aprender qué son las habilidades de tokens o scopes como se lo conoce en OAuth, y cómo aplicarlas y verificarlas con Laravel Sanctum.
En esta lección vamos a implementar los permisos de tokens para que sólo los tokens autorizados puedan crear artículos.
En esta lección implementamos los permisos para que sólo usuarios con ciertos permisos puedan editar y eliminar artículos. También vemos cómo utilizar un permiso de administrador que no tenga restricciones..
En esta lección implementamos un método específico en la política de acceso que se encargará de verificar los permisos para modificar relaciones.
En esta lección explicamos e implementamos la autenticación para aplicaciones móviles en nuestra API con Laravel.
En esta lección implementamos el cierre de sesión (invalidar token), y aprendemos a utilizar el guard Sanctum en los middlewares de autenticación.
En esta lección implementamos y testeamos el endpoint de la API que permita el registro de usuarios.
En esta lección testeamos e implementamos la ruta que nos devuelva el usuario autenticado vía Laravel Sanctum
En esta lección creamos un modelo para los permisos que podamos asociar a los usuarios de nuestra API
En esta lección implementamos la asignación automática de permisos de usuario a habilidades de token (Sanctum) al momento de hacer login vía API
En esta lección vamos a crear un comando de artisan que nos genere automáticamente los permisos de cada recurso.
En este video vemos cómo aprovechar una nueva característica de Laravel v8, los tests en paralelo, que incrementan en un 75% (aprox) la velocidad de ejecución de los tests.
En esta lección creamos un comando que nos llene la base de datos para posteriormente realizar pruebas manuales con Postman, y al ser un comando destructivo agregamos una advertencia para prevenir que se ejecute en producción
En esta lección utilizamos Postman para probar el listado, creación, actualización y eliminación del recurso articles
En esta lección utilizamos variables de entorno para evitar repetir los mismos datos una y otra vez en las peticiones de Postman.
En esta lección utilizamos parámetros para verificar y guardar cada uno de los filtros disponibles en el recurso Articles de la API hecha con Laravel.
En esta lección vamos a probar la paginación, el ordenamiento de registros, la inclusión de relaciones y sparse fieldset en Postman.
En esta lección probamos el login, logout, registro y usuario autenticado, listamos los token scopes, y generamos la documentación de la API con Postman.
En esta lección creamos una app con Vue.js 3 para demostrar una forma sencilla de consumir los datos de la API JSON:API hecha con Laravel
En esta lección configuramos Sanctum e instalamos Fortify para ayudarnos con la autenticación SPA via cookies desde la aplicación de Vue 3
En esta lección obtenemos el usuario autenticado y creamos el botón para cerrar sesión
En esta lección aprendemos a construir y enviar fácilmente el objeto JSON:API del recurso articles con sus respectivas relaciones: categoría y usuario actualmente autenticado.
En esta última lección aprendemos a generar, del lado del cliente (Vue.js 3), un slug a partir del título del artículo de forma autmática.
Tu instructor
Jorge García Coello
Aprendible.com
Jorge García es creador de Aprendible.com yDesarrollador Certificado en LaravelA través de su plataforma de aprendizaje y de otras plataformas de estudio, desde 2015 ha ayudado a decenas de miles de desarrolladores a mejorar sus oportunidades dentro del Desarrollo Web.