Curso de API REST con Laravel

Crear un web service basado en API REST usando Laravel como framework y los paquetes Sanctum y Fortify. Ejercitar el backend desde distintos proyectos Javascript
Material disponible
Avanzado
8 Clases 15 h
89€
69€
Precio en promoción
En este curso vamos a mostrar cómo se desarrolla un API REST usando el framework PHP Laravel y cómo podemos usar ese API desde distintos proyectos basados en Javascript con diferentes frameworks. 

En el curso veremos dos modalidades para el trabajo de nuestro API:

  •  API Stateful, que no es lo común en los servicios web, pero que a la hora de la verdad resulta adecuado para la mayoría de los proyectos web que se desarrollan.
  • API Stateless, que es lo más habitual y necesario si quieres que tu API se pueda consumir desde diversos sistemas, tan variados como aplicaciones web, aplicaciones de escritorio o aplicaciones móviles.

Durante el curso explicaremos cómo desarrollar el API centrándonos en la parte del backend pero sin dejar de lado completamente la parte del frontend, que permitirá ejercitar de manera realista las funcionalidades del API, sobre todo aquellas relacionadas con los sistemas de autenticación para la web, como el login y registro.

Para desarrollar el backend usaremos Laravel, ya que nos permite disponer de una arquitectura avanzada, pensada para resolver fácilmente los problemas y necesidades con los que nos vamos a encontrar. Dentro de Laravel usaremos los packages oficiales de Laravel: Sanctum y Fortify. Estas herramientas nos ofrecen todas las funcionalidades necesarias para desarrollar toda la parte de la autenticación y autorización en nuestra aplicación, por lo que nuestro trabajo consistirá básicamente en configurar el framework PHP para que funcione como nosotros queremos y desarrollar los endpoints de los recursos que nuestro proyecto API deba ofrecer.

Para la parte del frontend usaremos proyectos presentados por el propio equipo de Laravel y terceros desarrolladores, que ya vienen preparados para ejercitar el API y realizar los procesos de autenticación, ya sea en una SPA usando un API Stateful (con sesiones) o proyectos de aplicaciones que usan un API Stateless y autenticación por medio de tokens bearer.  Algunas de las tecnologías de los proyectos frontend que veremos son React, ElectronJS o Web Components con Lit.

En todos los casos, los proyectos frontend / backend permanecerán desacoplados, de modo que sean completamente independientes, en repositorios distintos y componiendo stacks de tecnologías separados. Dicho de otro modo, el backend será agnóstico al frontend que lo consuma, por lo que en el frontend se podrán escoger potencialmente las tecnologías y frameworks Javascript libremente.

Qué aprenderé en el Curso de API REST con Laravel

  • Entender las dos posibilidades de desarrollo de un API (Stateful y Stateless)
  • Instalar y configurar Sanctum para autenticación de SPA con el enfoque Stateful
  • Instalar y configurar Fortify para el desarrollo de la funcionalidad backend del servicio web desacoplado del frontend
  • Crear un API REST con el enfoque Stateless
  • Gestionar los tokens de autenticación con el enfoque "Bearer Authentication"
  • Solucionar problemas habituales de Cors y manejo de estado
  • Documentar el API con OPEN API (Swagger)
  • Usar proyectos Javascript tipo "starter kits" para consumir las APIs con distintos frameworks para proyectos SPA
  • Usar el API Stateless en un proyecto de aplicación de escritorio con ElectronJS

Objetivos del curso

Explicar el proceso de construcción de toda la infraestructura necesaria para realizar un servicio web capaz de autenticar usuarios y facilitar las operativas clásicas como la recuperación de la clave, la validación de los correos de los usuarios, etc.

Aprender a usar Laravel para configuar el comportamiento como un API y configurar los servicios oficiales del framework para conseguir el desarrollo de la funcionalidad de autenticación. Para estos objetivos el estudiante aprenderá a usar los packages Laravel Sanctum y Laravel Fortify. Además se verá tanto la autenticación para una SPA que hace uso de sesiones en el backend y para proyectos más diversos stateless que hacen uso de Tokens Bearer.

Creación de endpoints de aplicación para la gestión de recursos (resources del API) y la autorización de los endpoints. Documentar correctamente esos endpoints para crear una aplicación web interactiva que nos permita explorar las posibilidades del API, usando OPEN API, también conocido como Swagger.

Mostrar y explorar proyectos Javascript con diversas tecnologías que nos sirven de starter kits para el inicio de aplicaciones web y aplicaciones de escritorio, basados en frameworks diversos como React, ElectronJS y otros.

Por qué debes aprender Desarrollo de un API con Laravel

Este curso te servirá para aprender a desarrollar proyectos donde el backend y el frontend están desacoplados, es decir, usan repositorios independientes y stacks de tecnologías completamente separados.

Te ofrecerá soluciones para enfoques diversos, tanto en lo que respecta a la implementación del backend como la del frontend. En concreto te ayudará a explorar y practicar con dos posibles implementaciones del API, tanto stateful como stateless. Ambas tienen sus ventajas e inconvenientes e incluso podrían convivir en un mismo proyecto. Todo ello te permitirá mejorar la versatilidad de tus desarrollos o centrarte en las características que mejor se adapten al proyecto que vayas a realizar.

A la hora de desarrollar el API nos comenzaremos con las funcionalidades de autenticación y verás lo mucho que Laravel te puede ayudar para realizar estas partes con muy poco esfuerzo. Además implementaremos algunos recursos (resources) del API para crear endpoints diversos que nos permitirán realizar operaciones típicas de los servicios web (listados, altas, bajas y modificaciones).

Podrás conocer además stacks de tecnologías diversos en el frontend, de modo que podrás realizar proyectos con tecnologías que te resultarán afines o bien explorar diversas alternativas para encontrar la que más te guste. Los proyectos Javascript que mostraremos te permitirán realizar proyectos de aplicaciones modernas, de tipo Single Page Application, con un andamiaje genérico que podrás utilizar en la práctica totalidad de los proyectos, basado en distintos modelos de autenticación, por sesiones o por tokens de usuario.

Qué tengo que saber

Se asume que el estudiante tiene conocimientos básicos o medios de los siguientes apartados:

Todos esos conocimientos los puedes adquirir en cursos disponibles con tu suscripción en EscuelaIT.

Clases y contenidos

API REST con Laravel Gratis
  • Qué ofrece Laravel para desarrollar un API
  • Diferencias y casos de uso APIs Stateful y Stateless
  • Packages Laravel Sanctum y Laravel Fortity
  • Crear un proyecto Laravel para usar como backend
Laravel Sanctum y Fortify para autenticación de una SPA Stateful
  • De qué se ocupa cada package
  • Cómo configurar Laravel Sanctum
  • Cómo instalar Laravel Fortify
  • Cómo configurar Laravel Fortify
Proyectos de frontend SPA para usar un API Laravel y mejoras backend flujo usuarios
  • Proyecto oficial basado en React / NextJS
  • Cómo usar el API Stateful desde Javascript
  • Configurar rutas accesorias de usuarios en el Backend Laravel
    • Verificar usuarios
    • Recordar la clave
  • Conocer otras versiones de starter kits basados en Web Components
Desarrollo de autenticación para API Stateless
  • Qué son los token para autenticación Bearer
  • Registro de usuarios y login basado en tokens
  • Autorización con Token Bearer
Proyecto de aplicación de escritorio ElectronJS
  • Bases del desarrollo con Electron
  • Inicio de un proyecto ElectronJS
  • Configuración de Electron Forge
  • Starter Kit para app con registro y login de usuarios
Desarrollo de los recursos del API
  • Desarrollo de endpoints que no requieren autenticación
  • Desarrollo de endpoints que requieren autenticación
Otros endpoints de resources
  • Desarrollo de endpoints
Documentación del API
  • Qué es Open API / Swagger
  • Desarrollo de la documentación
  • Optimización y reutilización de código de documentación

Valoraciones

DOCAL ARTAJO / JAIME

Magnifico curso como siempre. No sé si en la última clase puedes dar una pincelada sobre https://vapor.laravel.com/

Guillermo Alonso

Me ha parecido todo muy entendible.

¿Conoces nuestra tarifa plana?

Toda la formación de EscuelaIT, con más de 200 cursos completos para aprender las más variadas tecnologías de programación, diseño y marketing online. Todo! con tu suscripción.

Suscríbete