Udemy

Platform

Español

Language

Web Development

Category

API RESTful con Laravel: Guía Definitiva

Crea la API RESTful de un sistema de mercado con Laravel y domina características complejas de las API con Laravel

4.74 (1120 reviews)

3958

Students

15 hours

Content

Apr 2020

Last Update
$49.99
Regular Price

What you will learn

Crear tus propios proyectos con Laravel (no sólo APIs RESTful)

Usar al máximo tus herramientas de trabajo (Sublime Text 3, Git, Github, Composer, PHP artisan y Laravel)

Generar y mantener la estructura de la base de datos de manera automatizada con Laravel y la consola PHP Artisan

Utilizar de manera efectiva PHP Artisan y sé mucho más eficiente

Crear y configurar tu propio entorno de desarrollo local

Configurar adecuadamente tus entornos de trabajo en tus proyectos

Manejar los métodos/verbos principales de HTTP para una API RESTful

Utilizar herramientas profesionales gratuitas para mejorar tu productividad




Description

¿Necesitas construir una API RESTful para un proyecto, pero no sabes por dónde comenzar? No te preocupes, sé lo que se siente y por eso te voy a guiar por el proceso completo de construir una verdadera API RESTful usando Laravel.

¡Únete a los más de 3,000 estudiantes que ya están tomando el curso, construyendo su API RESTful con Laravel, y aprendiendo en cada clase!

Nota: Este curso puede ser tomado, y se recomienda hacerlo, usando la versión más reciente de Laravel. Además, incluye múltiples secciones que muestran cómo actualizar a las nuevas versiones de Laravel, en caso de que hayas preferido usar una versión anterior de Laravel.


La guía absoluta para la creación de una verdadera API RESTful con Laravel.

No encontrarás un curso como este en ninguna otra parte y mucho menos en español. Usarás Laravel para implementar una API RESTful completa y con todo lo que una  verdadera API RESTful requiere.

A lo largo del curso, construirás una API RESTful con Laravel para sistema de mercado, donde los usuarios pueden comprar y vender diferentes productos con diferentes categorías y transacciones. Explorarás los diferentes tipos de relaciones (uno a muchos, muchos a muchos), junto con los paquetes principales para construir una API RESTful completa usando Laravel.

No esperes más para ser experto en desarrollo de APIs RESTful con Laravel. Únete ahora al curso y nos vemos en clases.

Recuerda: El curso es actualizado constantemente para usar las últimas versiones de Laravel. Así que siéntete libre de usar la versión que prefieras (especialmente versión más reciente de Laravel).


Laravel es el framework de PHP más popular, con millones de descargas y muchísimos proyectos de alto nivel implementados. Además, proporciona excelentes facilidades para desarrollar APIs RESTful y cualquier otro proyecto.

¿Qué es una API RESTful?
Una API RESTful se puede entender como un servicio web que funciona enteramente sobre HTTP. Una buena API RESTful sigue las prácticas dictadas por REST (REpresentationas State Transfer), permitiendo orientar el diseño a los recursos (usuarios, cursos, transacciones, productos, etc.) y proporcionando respuestas estandarizadas basados en los diferentes códigos de estado de HTTP.


¿Por qué Laravel?
Porque es un framework hecho por programadores y para programadores, expresivo, sencillo, intuitivo y potente., que además proporcionar características muy útiles para desarrollar una API RESTful. Millones de programadores de PHP lo usan y lo dominan cada vez más en todo el mundo; no te quedes atrás.

Durante el curso dominarás la estructura completa de Laravel, junto con las nuevas características incluidas en la versión más reciente, mientras que además, desarrollas una verdadera y completa API RESTful.

En el curso aprenderás esto sobre Laravel sobre APIs RESTful con Laravel:

  • Uso de PHP artisan de Laravel para la generación de código y componentes

  • Uso y creación de Middleware de Laravel

  • Controladores y rutas de tipo recurso de Laravel (ideales para las APIs RESTful)

  • Respuestas en formato JSON completamente compatibles con cualquier cliente

  • Validación de peticiones desde los controladores de Laravel

  • Manejo y control de todo tipo de excepciones y errores desde el handler de Laravel

  • Implementación de operaciones complejas que implican dos y hasta tres recursos/modelos

  • Inyección de dependencias y de modelos en Laravel

  • Generación de la estructura de la base de datos por medio de migraciones de Laravel

  • Inserción automática de datos aleatorios en la base de datos por medio de factories y seeders

  • Validación de usuarios, por medio de sesiones y de access_token ¡Sí ambos!

  • Uso de OAuth2 para la seguridad de la API RESTful, usando ¡Laravel Passport!

  • Paginación de resultados, usando colecciones de Laravel

  • Uso de parámetros de URL para ejecutar acciones (con un enfoque RESTful)

  • Ordenamiento de resultados por medio de parámetros de URL, siguiendo la filosofía REST

  • Filtrado de resultados usando parámetros de URL siguiendo el enfoque RESTful

  • Cacheo de respuestas, usando el sistema de cache de Laravel

  • Limitación de peticiones, usando el middleware de Laravel

  • Implementación de HATEOAS desde Laravel (una verdadera API RESTful debe usar HATEOAS)

  • Uso de PHP Fractal para retornar respuestas compatibles con cualquier tipo de cliente

  • Uso de cabeceras CORS en la API para permitir el uso desde JavaScript y navegadores web

  • Uso de Policies y Gates de Laravel para controlar el acceso de los usuarios a los recursos de la API RESTful

  • ¡¡Muchísimo más!!

Puedes darle una mirada a la lista completa de contenidos más abajo, para obtener más detalles.

Crearás una API verdaderamente RESTful desde cero y paso a paso, siguiendo la arquitectura REST y la construcción adecuada de URLs para identificar acciones. Todo esto con la ayuda de Laravel.

Tendrás acceso de por vida a las clases bonus que se agregarán constantemente al curso (dale una mirada a la sección final para ver lo que viene).

Al finalizar este curso serás capaz de desarrollar tu propia y verdadera API RESTful con Laravel y PHP de una manera efectiva y con las mejores prácticas, explotando al máximo las facilidades proporcionadas por Laravel para la correcta y adecuada implementación de tus proyectos.

No esperes más para ser experto en desarrollo de APIs RESTful usando Laravel. Nos vemos en clases.


Screenshots

API RESTful con Laravel: Guía Definitiva
API RESTful con Laravel: Guía Definitiva
API RESTful con Laravel: Guía Definitiva
API RESTful con Laravel: Guía Definitiva

Content

Introducción

Acerca del Instructor y el Curso

Sacando Provecho del Curso y sus Contenidos

Descarga e Instala las Herramientas para Desarrollar la API RESTful con Laravel

Descargando e Instalando PHP con XAMPP

Descargando e Instalando Composer

Descargando e Instalando Virtual Box

Descargando e Instalando Vagrant

Descargando e Instalando Sublime Text 3

Descargando e Instalando Github Shell

Descargando e Instalando Node y NPM

Descargando e Instalando Postman para Probar la API RESTful

Creando y Estableciendo la Estructura Inicial de Laravel para la API RESTful

Obteniendo Laravel Usando Composer

Agregando Homestead de Laravel Como una Dependencia del Proyecto

Laravel 6: Un paso adicional

Estableciendo la Configuración para Homestead de Laravel

Agregando el Dominio de Desarrollo al Sistema

Usando Vagrant para Controlar la Máquina Virtual Homestead de Laravel

Averigua cómo salir de la máquina virtual

Mantén el Proyecto de Laravel Actualizado

Configurando y Usando Sublime Text 3 para Desarrollar la API RESTful con Laravel

Instalando el Package Control

Creando y Usando Proyectos

Instalando y Usando SublimeCodeIntel para Acceder las Clases de Laravel y la API

Instalando y Usando SideBarEnhancement

Instalando y Usando SublimeLinter para PHP

Instalando y Usando PHPCompanion para Importar Definiciones de Laravel

Comprendiendo el Caso de Estudio para la API RESTful

Comprendiendo los Recursos (Modelos) y Relaciones de la API RESTful

Comprendiendo los “End-Points” Principales para la API RESTful

Descubriendo y Configurando la Estructura de Laravel para la API RESTful

Descubriendo la Estructura de Laravel

Descubriendo PHP Artisan

Configurando las variables de entorno de Laravel

Comprendiendo y Configurando el Sistema de Rutas de Laravel para APIs RESTful

Creando los Componentes Iniciales de Laravel para la API RESTful

Cómo Resolver Errores Comunes Durante el Desarrollo de la API RESTful

Creando la Estructura Inicial de Laravel para los Modelos y sus Migraciones

Creando la Estructura Inicial de Laravel para Controladores

Creando algunos End-Point para la API RESTful Usando Rutas de Recurso de Laravel

Implementando los Modelos de la API RESTful y sus Relaciones con Eloquent

Implementando las Propiedades de Category

Implementando las Propiedades para Product

Implementando las Propiedades para Transaction

Implementando las Propiedades de User

Implementando las Relaciones Entre los Modelos

Generando la Estructura de la Base de Datos Usando Migraciones de Laravel

Resolviendo un Problema Común con la Base de Datos y Laravel

Implementando la Migración Para Users

Implementando la Migración Para Products

Implementando la Migración Para Transactions

Implementando la Migración Para Categories

Creando la Migración Para la Tabla Pivote

Creando Factories de Laravel para Insertar Información en la Base de Datos

Creando el Factory para User

Creando el Factory para Category

Creando el Factory de Product

Creando el Factory de Transaction

Usando los Factories Desde el DatabaseSeeder de Laravel

Cómo Ejecutar Las Migraciones y El Seeder Usando Artisan de Laravel

Implementando las Operaciones para UserController

Mostrando la Lista de Usuarios con el Método Index de UserController

Mostrando un Usuario con el Método Show de UserController

Creando un Usuario con el Método Store de UserController

Editando un Usuario con el Método Update de UserController

Removiendo un Usuario el Método Destroy de UserController

Implementando las Operaciones para Buyer

Implementando el Método Index en BuyerController

Implementando el Método Show en BuyerController

Implementando las Operaciones para Seller

Implementando el Método Index en SellerController

Implementando el Método Show en SellerController

Mejorando las Operaciones Actuales de la API RESTful

Definiendo Mutadores y Accesores en los Modelos

Generalizando las Respuestas de la API

Haciendo Uso de los Métodos Generalizados

Usando los Métodos Generalizados para Respuestas de Error

Manejando Errores y Excepciones con el Handler de Laravel

Retornando los Errores de Validación en Formato JSON

Retornando el Error de “Modelo No Encontrado” como JSON

Controlando Excepciones de Autenticación

Controlando Excepciones de Autorización

Controlando Excepciones de No Encontrado (HTTP)

Controlando Excepciones de Método No Permitido

Controlando Diferentes Excepciones de HTTP

Manejando la Eliminación de Recursos Relacionados

Manejando Excepciones Inesperadas

Inyección Implícita de Modelos en Rutas y Métodos

Usando Inyección de Modelos en Algunos Métodos

Resolviendo la Inyección de Buyer Usando “Global Scopes”

Resolviendo la Inyección de Seller Usando “Global Scopes”

Implementando “Soft Deleting” en Todos los Modelos

Modificando las Migraciones para Usar “Soft Deleting·

Preparando Todos los Modelos para Usar “Soft Deleting”

Implementando las Operaciones para Category

Implementando el Método Index de CategoryController

Implementando el Método Show de CategoryController

Implementando el Método Store de CategoryController

Implementando el Método Update de CategoryController

Implementando el Método Destroy de CategoryController

Implementando las Operaciones para Product

Implementando el Método Index para ProductController

Implementando el Método Show para ProductController

[Ejercicios] Implementando las Operaciones para Transaction

Implementando el Método Index para TransactionController

Implementando el Método Show para TransactionController

Implementando las Operaciones Complejas con Transaction

Implementando el Método Index de TransactionCategoryController

Implementando el Método Index de TransactionSellerController

Implementando las Operaciones Complejas con Buyer

Implementando el Método Index de BuyerTransactionController

Implementando el Método Index de BuyerProductController

Implementando el Método Index de BuyerSellerController

Implementando el Método Index de BuyerCategoryController

Implementando las Operaciones Complejas con Category

Implementando el Método Index para CategoryProductController

Implementando el Método Index para CategorySellerController

Implementando el Método Index para CategoryTransactionController

Implementando el Método Index para CategoryBuyerController

Removiendo la Tabla Pivote de los Resultados

Implementando las Operaciones Complejas con Seller

Implementando el Método Index para SellerTransactionController

Implementando el Método Index para SellerCategoryController

Implementando el Método Index para SellerBuyerController

Implementando el Método Index para SellerProductController

Implementando el Método Store para SellerProductController

Implementando el Método Update para SellerProductController

Implementando el Método Destroy para SellerProductController

Implementando las Operaciones Complejas para Product

[Reto] Implementando la Operación Index de ProductTransaction

[Reto] Implementando la Operación Index de ProductBuyer

[Reto] Implementando la Operación Index de ProductCategory

Implementando la Operación Update de ProductCategory

Implementando la Operación Destroy de ProductCategory

Implementando la Operación Store de ProductBuyerTransaction

Manejando la Disponibilidad de Productos Usando Eventos

Agregando una Imagen a los Productos

Preparando la API para la Subida de Imágenes

Guardando la Imagen al Crear un Producto

Removiendo la Imagen al Eliminar un Producto

Actualizando la Imagen al Editar un Producto

Enviando Correos para la Verificación de Cuentas de Usuario

Preparando el Proyecto para el Envío de Correos

Implementando el Sistema de Verificación

Creando el Mailable para Usuarios Creados

Implementando el Mailable para Usuarios Creados

Enviar Correo de Verificiación Usando Eventos

Resolviendo un Problema con los Factories

Creando el Mailable para Validar un Nuevo Correo Electrónico

Implementando el Mailable de UserMailChanged

Enviar Verificación para Email Modificado Usando Eventos

Reenviando el Correo de Verificación

Manejando Acciones Propensas a Errores

Usando Mailables y Markdown

Los Middleware y el Limitador de Peticiones

Acerca de los Middleware y Cómo Funcionan

Creando un Middleware Personalizado

Acerca del Limitador de Peticiones

[Opcional] Personalizando la Respuesta para “Límite Excedido”

Transformando Respuestas por Seguridad y Compatibilidad

Acerca de las Transformaciones y Por Qué Usarlas

Preparando el Proyecto para la Transformación de Datos

Creando la Transformación para User

Creando la Transformación para Seller y Buyer

Creando la Transformación para Category

Creando la Transformación para Transaction

Creando la Transformación para Product

Relacionando los Modelos con su Transformación

Retornando las Nuevas Respuestas Transformadas

Ordenando y Filtrando Resultados Usando Parámetros de URL

Ordenando los Resultados Usando Cualquier Atributo

El Problema con las Respuestas Ordenadas

Mejorando las Transformaciones para Resolver el Problema

Resolviendo el Problema Usando las Transformaciones

Filtrando Respuestas Según Múltiples Atributos

Paginación de Resultados

Acerca de la Paginación

Paginando Colecciones

Permitiendo Tamaño de Página Personalizado

Caché de Resultados

Implementando el Sistema de Caché

El Sistema de Caché y los Parámetros de URL

Implementando HATEOAS Hypermedia Controls

¿Qué es HATEOAS y Por Qué Usarlo?

Implementando HATEOAS para Instancias de Category

Implementando HATEOAS para Instancias de Product

Implementando HATEOAS para Instancias de Transaction

Implementando HATEOAS para Instancias de User

[Ejercicio] Implementando HATEOAS para Instancias de Buyer

[Ejercicio] Implementando HATEOAS para Instancias de Seller

Las Transformaciones y las Validaciones

Comprendiendo Dos Problemas con Transformaciones y Validaciones

Creando y Usando un Middleware para Resolver el Problema

Implementando la Solución al Primer Problema Usando el Middleware

Mejorando las Transformaciones para Resolver el Segundo Problema

Mejorando el Middleware para Resolver el Segundo Problema

Preparando la API para Autenticación de Usuarios Usando Sesiones

¿Por Qué es Requerido en la API?

Laravel 6: Antes de continuar...

Creando la Estructura Adicional para Autenticación

Afinando Algunas Estructuras para Evitar Inconsistencias

Acerca de CSRF y Manejando Excepciones de CSRF

Retornando HTML y Redirecciones Cuando Sea Requerido

Implementando la Capa Inicial de Seguridad con Laravel Passport (OAuth2)

Acerca de OAuth2 y la Seguridad en las APIs

¿Qué es Laravel Passport?

Preparando el Proyecto para Usar Laravel Passport

Usando las Migraciones de Laravel Passport

Instalando Passport de Forma Definitiva en la API

Autenticando Usuarios por Medio de Tokens de la API

Registrando las Rutas Requeridas

Configurando el Sistema de Autenticación

Definiendo el Tiempo de Expiración de los Tokens

Usando client_credentials para Proteger Algunas Rutas

Cómo Obtener y Usar un Token Usando Client Credentials

Protegiendo las Demás Rutas

Usando el Grant Type Password

Preparando la API para Usar los Componentes de Passport

Usando el Componente para Gestionar Tokens Personales

Acerca de los Tokens Personales y Cómo Usarlos

Usando los Componentes para Gestionar Clientes de la API

Obteniendo un Token con un Código de Autorización

Usando el Grant Type Implícito

Usando los Refresh Tokens

Restringiendo Clientes de la API usando Scopes de OAuth2 con Laravel Passport

¿Qué son los Scopes de OAuth2?

Registro de Algunos Scopes Requeridos para la API

Registro de Middleware para Comprobar Scopes

Restringiendo las Acciones que Usan el Scope "purchase-product"

Restringiendo las Acciones que Usan el Scope "manage-products"

Restringiendo las Acciones que Usan el Scope "manage-account"

Restringiendo las Acciones que Usan el Scope "read-general"

Implementación de la Capa Final de Seguridad Usando Policies y Gates de Laravel

Acerca de la Capa Final de Seguridad

¿Qué son Policies y Gates de Laravel?

Implementando las Restricciones Sobre Buyer

Implementando las Restricciones Sobre Seller

Las Restricciones Sobre User

Implementando las Restricciones Sobre Transaction

Implementando las Restricciones Sobre Product

Permitiendo las Acciones a los Administradores

Permitir las Acciones Restantes Únicamente a Administradores

CORS en Laravel

Acerca de CORS

Instalando el Paquete de CORS para Laravel

Configuración del Paquete de CORS en Laravel

Permitiendo CORS Únicamente en la API

Permitiendo CORS en Respuestas de Error

Adiciones y Correcciones para la API RESTful con Laravel

Identificando un Usuario Autenticado en la API RESTful

[Opcional] Actualizando a Laravel 5.5

Acerca del Proceso de Actualización a Laravel 5.5

Actualizando a Laravel 5.5 Junto con las Dependencias

Actualizando el Código Acorde a Laravel 5.5

[Opcional] Actualizando a Laravel 5.6

Preparando el Entorno para Actualizar

Obteniendo Laravel 5.6

Instalando Dependencias Actualizadas

Resolviendo Detalles y Actualizando la Estructura

[Opcional] Actualizando a Laravel 5.7

Preparando el entorno de desarrollo para la actualización

Instalando Laravel 5.7 y actualizando las dependencias de la API RESTful

Actualizando los componentes y estructuras

[Opcional] Actualizando a Laravel 6

Actualizando el entorno de desarrollo

Obteniendo Laravel 6 y actualizando las dependencias

Resolviendo detalles para usar Laravel 6

Conclusión

Lista de Temas Pendientes

Gracias por Llegar Hasta Aquí



Reviews

B
Brayan8 October 2020

Un gran curso. Cada clase es breve y fácil de seguir (muy digerible para entender). He aprendido muchas cosas en este curso. Ahora seguiré con los otros cursos, Nuevamente Excelente!

D
Darwin20 September 2020

Excelente curso, aunque seria bueno actualizar la versión utilizada ya que las versiones 7 y 8 de Laravel cambian muchas cosas, y seria bueno también enfatizar en estos aspectos, pero en general el curso es muy bueno

L
Luz10 September 2020

muy bien explicado, pude realizar algo que me parecia complicado o que me llevaria mucho tiempo gracias a su explicacion y siempre respondio mis dudas.

O
Omar11 August 2020

El curso esta muy bien, me gusta porque es muy practico y los ejecricios que se realizan durante el transcurso del mismo son faciles de realizar

J
Jonatan30 July 2020

Excelente curso, Juan es un excelente instructor, con el he aprendido mucho sobre Laravel, Muy recomendado este curso, no se va a decepcionar!

C
Cristian16 February 2020

Excelente Curso, trabajo desde hace 4 años con Laravel, y aun así he aprendido muchas cosas que hasta ahora ignoraba.

S
Sergio12 February 2020

Aunque he realizado el curso utilizando Laravel 6.11 y en algunos momentos he tenido problemas, lo he podido terminar completamente. La forma en la que está estructurado el curso es muy buena. La parte de autorizaciones me ha resultado un poco difícil de seguir, no obstante me ha ido funcionando todo. En definitiva recomiendo el curso a cualquiera que quiera empezar a utilizar Laravel. Saludos

J
Jonathan9 January 2020

Este curso me ha permitido desarrollar nuevas habilidades que pondré en práctica en un proyecto que tengo, es un curso muy bueno que ha cumplido con mis expectativas, lo super recomiendo.

J
Jeimy8 January 2020

Curso altamente enriquecido en contenido y agradecer al profesor por su pronta respuesta en cada una de mis preguntas.

J
Jefferson3 January 2020

Faltó al inicio explicar un poco más acerca de las tecnologías y software a usarse, me gustó como se explicó la sección 5, excelente.

J
Jorge3 December 2019

El curso es muy bueno, y lo mejor es el esmero del instructor en contestar las dudas de sus alumnos. Sin duda 100% recomendado.

C
Christian13 November 2019

Excelente debería utilizar las nuevas características de laravel y dejar paquetes pero el curso esta bueno

D
Dayana13 November 2019

Muy completo el curso, me ilustró en varios procedimientos que me facilitaron la creación y progreso de mis proyectos con laravel

J
Juan2 November 2019

La verdad es que no esperaba aprender tantas cosas de este curso. Me apunté para reforzar mi conocimiento sobre Laravel y creación de APIS, y gracias al autor he obtenido nuevos conocimientos a nivel general de Laravel que me servirán mucho en mis proyectos. Muchas Gracias.

E
Enmanuel1 November 2019

Es un excelente curso, abarca los conceptos desde lo mas mínimo a lo mas complejo de las ApiRestfull y se usa en su totalidad las funcionalidades del Framework. El profesor posee un amplio dominio del tema y siempre esta presto para resolver las dudas. Lo único en contra es que esta hecho con laravel 5.4 y los que lo quieran tomar usando otras versiones de laravel se van a encontrar con algunos problemas en el camino. Pero con un poco de paciencia se pueden resolver. Yo acabo de terminar el curso con la versión 5.8



1109106

Udemy ID

2/10/2017

Course created date

11/23/2019

Course Indexed date
Bot
Course Submitted by

Twitter
Telegram
Android PlayStore
Apple Appstore