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
PRO
08:25En esta lección instalamos una nueva aplicación de Laravel y creamos los modelos, migraciones y factories con ayuda de Blueprint.
PRO
15:48En 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.
PRO
10:50En esta lección veremos cómo ordenar recursos de forma ascendente y descendente adhiriéndose a la especificación JSON:API.
PRO
07:25En esta lección terminamos la implementación de ordenar recursos y lo extraemos a un Trait que podamos reutilizar en cualquier modelo.
PRO
13:48En 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
PRO
10:06En esta lección reestructuramos la paginación y el orden artículos en macros y mixins para poder reutilizarlos en diferentes modelos.
PRO
10:15En esta lección implementamos varios filtros para artículos siguiendo la especificación JSON:API.
PRO
09:35En 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.
PRO
15:19En esta lección aprendemos a implementar un filtro de búsqueda siguiendo la especificación JSON:API
PRO
10:57En 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.
PRO
16:11En esta lección aprendemos qué son y cómo utilizar los Schemas, Adapters y Validators del paquete Laravel Json Api, utilizando el recurso articles.
PRO
06:11En esta lección aprendemos a crear recursos siguiendo la especificación JSON:API y cómo probar las reglas de validación.
PRO
07:28En 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.
PRO
13:32En 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.
PRO
05:02En 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.
PRO
04:53En esta lección utilizamos Authorizers para verificar que los usuario sólo pueden editar los artículos que ellos mismos han escrito.
PRO
03:52En esta lección permitimos que sólo los usuarios autenticados puedan eliminar sus artículos y que no puedan eliminar artículos de otros.
PRO
06:38En 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.
PRO
05:16En 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.
PRO
07:17En esta lección implementamos UUIDs V4 en el modelo Author para utilizarlo como identificador en nuestra API
PRO
06:07En esta lección habilitamos la inclusión de autores relacionados con los artículos, y así poder pre-cargarlos cada vez que los necesitemos
PRO
04:05En 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
PRO
05:43En 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.
PRO
04:00En esta lección evitamos que cualquier usuario pueda cambiar el autor de un artículo. También revisamos por qué algunos tests fallan eventualmente.
PRO
03:57En esta lección actualizamos paso a paso nuestra API de la versión 7 a la versión 8 de Laravel.
PRO
08:32En este video continuamos con la actualización a Laravel 8 actualizando los factories y los seeders a la nueva versión.
PRO
03:27En 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.
PRO
07:02En 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
PRO
10:59En 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.
PRO
05:12En esta lección permitimos filtrar artículos por una o varias categorías utilizando filtros, y siguiendo la especificación JSON:API.
PRO
07:41En 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.
PRO
04:10En esta lección corregimos el problema de asignación masiva que tenemos actualmente en el recurso articles.
PRO
11:31En 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.
PRO
09:10En 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.
PRO
05:42En esta lección vamos a implementar los permisos de tokens para que sólo los tokens autorizados puedan crear artículos.
PRO
05:19En 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..
PRO
07:36En 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.
PRO
13:40En esta lección explicamos e implementamos la autenticación para aplicaciones móviles en nuestra API con Laravel.
PRO
08:21En esta lección implementamos el cierre de sesión (invalidar token), y aprendemos a utilizar el guard Sanctum en los middlewares de autenticación.
PRO
07:43En esta lección implementamos y testeamos el endpoint de la API que permita el registro de usuarios.
PRO
04:09En esta lección testeamos e implementamos la ruta que nos devuelva el usuario autenticado vía Laravel Sanctum
PRO
08:04En esta lección creamos un modelo para los permisos que podamos asociar a los usuarios de nuestra API
PRO
04:36En 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
PRO
08:51En esta lección vamos a crear un comando de artisan que nos genere automáticamente los permisos de cada recurso.
PRO
00:54En 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.
PRO
05:37En 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
PRO
08:08En esta lección utilizamos Postman para probar el listado, creación, actualización y eliminación del recurso articles
PRO
03:53En esta lección utilizamos variables de entorno para evitar repetir los mismos datos una y otra vez en las peticiones de Postman.
PRO
06:48En 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.
PRO
05:37En esta lección vamos a probar la paginación, el ordenamiento de registros, la inclusión de relaciones y sparse fieldset en Postman.
PRO
07:42En 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.
PRO
06:22En 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
PRO
09:57En esta lección configuramos Sanctum e instalamos Fortify para ayudarnos con la autenticación SPA via cookies desde la aplicación de Vue 3
PRO
06:39En esta lección obtenemos el usuario autenticado y creamos el botón para cerrar sesión
PRO
10:46En 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.
PRO
04:16En 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.
Lo que opinan nuestros estudiantes
Miles de desarrolladores han transformado su carrera con nosotros
WOW! Cada vez me impresionas más! Excelente trabajo! Ahora a probarlo
Beto Vásquez

Estos videos son impresionantes, no he visto nada mejor que ello. Un material muy limpio muy claro y profesional.
Kenneth Ruiz

Excelente tutorial ! Mil gracias. Como siempre todo muy bien explicado y de una manera sencilla.
Dileydi Ramos

Muchas gracias Jorge, muy clara la explicación. Gracias por aprendible.com enserio AMO tus videos los AMO.
César Cruz

Más del 90% de nuestros estudiantes recomiendan Aprendible por la calidad de los cursos.