Desarrollo de una API con Laravel utilizando paquetes

Desarrollo de una API con Laravel utilizando paquetes

0%Inicia sesión para registrar tu progreso
56 lecciones7h 11m
En este curso aprenderemos a desarrollar, con TDD, una API que se adhiera a la especificación JSON:API utilizando paquetes adicionales.
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
FREE
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
FREE
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
FREE
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
FREE
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
FREE
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
FREE
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
FREE
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.