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.

Suscríbete para acceder a TODOS los cursos.

¡Puedes cancelar en cualquier momento!
Desarrollo de una API con Laravel utilizando paquetes

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


1. Inicialización del proyecto con Laravel Blueprint
PRO
08:25

En esta lección instalamos una nueva aplicación de Laravel y creamos los modelos, migraciones y factories con ayuda de Blueprint.

2. Resource Objects y Resource Collections
PRO
15:48

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.

3. Cómo ordenar recursos
PRO
10:50

En esta lección veremos cómo ordenar recursos de forma ascendente y descendente adhiriéndose a la especificación JSON:API.

4. Cómo ordenar recursos - Parte 2
PRO
07:25

En esta lección terminamos la implementación de ordenar recursos y lo extraemos a un Trait que podamos reutilizar en cualquier modelo.

5. Cómo paginar recursos según la especificación JSON:API
PRO
13:48

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

6. Cómo utilizar Macros y Mixins en Laravel
PRO
10:06

En esta lección reestructuramos la paginación y el orden artículos en macros y mixins para poder reutilizarlos en diferentes modelos.

7. Cómo filtrar recursos
PRO
10:15

En esta lección implementamos varios filtros para artículos siguiendo la especificación JSON:API.

8. Cómo implementar Filtros utilizando Scopes de Eloquent
PRO
09:35

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.

9. Cómo permitir búsqueda de recursos
PRO
15:19

En esta lección aprendemos a implementar un filtro de búsqueda siguiendo la especificación JSON:API

10. Instalación y configuración del paquete Laravel Json API
PRO
10:57

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.

11. Entendiendo los Schemas, Adapters y Validators
PRO
16:11

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.

12. Cómo crear recursos siguiendo la especificación JSON:API
PRO
06:11

En esta lección aprendemos a crear recursos siguiendo la especificación JSON:API y cómo probar las reglas de validación.

13. Implementando la autenticación API
PRO
07:28

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.

14. Utilizando el slug como identificador de los artículos
PRO
13:32

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.

15. Cómo actualizar recursos siguiendo la especificación JSON:API
PRO
05:02

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.

16. Qué son y cómo utilizar Authorizers
PRO
04:53

En esta lección utilizamos Authorizers para verificar que los usuario sólo pueden editar los artículos que ellos mismos han escrito.

17. Cómo eliminar recursos siguiendo la especificación JSON:API
PRO
03:52

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.

18. Cuándo utilizar los códigos de estado HTTP 401 y 403
PRO
06:38

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.

19. Definiendo el recurso de los autores de artículos
PRO
05:16

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.

20. Qué son UUIDs y cómo utilizarlos en modelos de Eloquent
PRO
07:17

En esta lección implementamos UUIDs V4 en el modelo Author para utilizarlo como identificador en nuestra API

21. Cómo incluir relaciones siguiendo la especificación JSON:API
PRO
06:07

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

22. Links para obtener y modificar relaciones - Parte 1
PRO
04:05

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

23. Links para obtener y modificar relaciones - Parte 2
PRO
05:43

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.

24. Cómo evitar que se modifiquen las relaciones
PRO
04:00

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.

25. Cómo actualizar tu aplicación a Laravel 8
PRO
03:57

En esta lección actualizamos paso a paso nuestra API de la versión 7 a la versión 8 de Laravel.

26. Actualizando los factories
PRO
08:32

En este video continuamos con la actualización a Laravel 8 actualizando los factories y los seeders a la nueva versión.

27. Mostrando el listado de categorías
PRO
03:27

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.

28. Crear, actualizar y eliminar categorías
PRO
07:02

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

29. Incluyendo relaciones entre artículos, autores y categorias
PRO
10:59

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.

30. Cómo filtrar recursos por sus relaciones
PRO
05:12

En esta lección permitimos filtrar artículos por una o varias categorías utilizando filtros, y siguiendo la especificación JSON:API.

31. Reglas de validación para las relaciones
PRO
07:41

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.

32. Protegiendo la API contra asignación masiva
PRO
04:10

En esta lección corregimos el problema de asignación masiva que tenemos actualmente en el recurso articles.

33. Reestructuración de la lógica relacionada con el autor y sus artículos
PRO
11:31

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.

34. Qué son Token Abilities o Scopes en una API con Laravel Sanctum
PRO
09:10

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.

35. Permisos API para crear artículos
PRO
05:42

En esta lección vamos a implementar los permisos de tokens para que sólo los tokens autorizados puedan crear artículos.

36. Permisos de token para actualizar y eliminar artículos vía API
PRO
05:19

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..

37. Permisos para modificar relaciones
PRO
07:36

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.

38. Autenticación API para aplicaciones móviles
PRO
13:40

En esta lección explicamos e implementamos la autenticación para aplicaciones móviles en nuestra API con Laravel.

39. Autenticación API para aplicaciones móviles | Parte 2
PRO
08:21

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.

40. Registro de usuarios vía API
PRO
07:43

En esta lección implementamos y testeamos el endpoint de la API que permita el registro de usuarios.

41. Obteniendo el usuario autenticado con Laravel Sanctum
PRO
04:09

En esta lección testeamos e implementamos la ruta que nos devuelva el usuario autenticado vía Laravel Sanctum

42. Creando un sistema simple de permisos en base de datos
PRO
08:04

En esta lección creamos un modelo para los permisos que podamos asociar a los usuarios de nuestra API

43. Utilizando los permisos como habilidades de token API
PRO
04:36

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

44. Comando de artisan para generar los permisos de cada recurso API
PRO
08:51

En esta lección vamos a crear un comando de artisan que nos genere automáticamente los permisos de cada recurso.

45. Cómo ejecutar tests en paralelo (parallel testing) en Laravel
PRO
00:54

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.

46. Comando para generar datos de prueba en la API
PRO
05:37

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

47. Cómo utilizar Postman para probar una API hecha con Laravel
PRO
08:08

En esta lección utilizamos Postman para probar el listado, creación, actualización y eliminación del recurso articles

48. Cómo crear y utilizar variables de entorno en Postman
PRO
03:53

En esta lección utilizamos variables de entorno para evitar repetir los mismos datos una y otra vez en las peticiones de Postman.

49. Cómo utilizar parámetros de URL en Postman
PRO
06:48

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.

50. Cómo utilizar parámetros de URL en Postman - Parte 2
PRO
05:37

En esta lección vamos a probar la paginación, el ordenamiento de registros, la inclusión de relaciones y sparse fieldset en Postman.

51. Cómo generar la documentación de una API con Postman
PRO
07:42

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.

52. Cómo consumir una API adherida a la especificación JSON:API con Vue 3
PRO
06:22

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

53. Cómo autenticar un SPA (Vue 3) utilizando Sanctum y Fortify
PRO
09:57

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

54. Cómo obtener el usuario autenticado con Sanctum con Vue 3
PRO
06:39

En esta lección obtenemos el usuario autenticado y creamos el botón para cerrar sesión

55. Cómo crear registros desde Vue 3 siguiendo la especificación JSON:API
PRO
10:46

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.

56. Cómo generar slugs en tiempo real con Vue.js
PRO
04:16

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

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.

¿Qué dicen los subscriptores?

¿Aún no estás convencid@?
Mira lo que están diciendo algunos subscriptores de Aprendible.
WOW! Cada vez me impresionas más! Excelente trabajo! Ahora a probarlo
Beto Vásquez
Beto Vásquez
Estos videos son impresionantes, no he visto nada mejor que ello. Un material muy limpio muy claro y profesional.
Kenneth Ruiz
Kenneth Ruiz
Excelente tutorial ! Mil gracias. Como siempre todo muy bien explicado y de una manera sencilla.
Dileydi Ramos
Dileydi Ramos
Muchas gracias Jorge, muy clara la explicación. Gracias por aprendible.com enserio AMO tus videos los AMO.
César Cruz
César Cruz