API RESTful con Laravel: Guía Definitiva
4.6 (1,035 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,564 students enrolled

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.6 (1,035 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,564 students enrolled
Last updated 4/2020
Spanish
Spanish [Auto]
Current price: $31.99 Original price: $49.99 Discount: 36% off
1 day left at this price!
30-Day Money-Back Guarantee
This course includes
  • 15 hours on-demand video
  • 8 articles
  • 2 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll 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
Course content
Expand all 225 lectures 14:51:43
+ Introducción
2 lectures 05:11

Conoce más de cerca al instructor, su experiencia y conocimientos y las motivaciones para la construcción de este curso.

Preview 01:56

En esta clase te hablo un poco sobre las APIs RESTful y cómo tomar el curso y aprovechar los contenidos, según tu nivel de desterza en este tema.

Sacando Provecho del Curso y sus Contenidos
03:15
+ Descarga e Instala las Herramientas para Desarrollar la API RESTful con Laravel
8 lectures 21:46

XAMPP es un proyecto multi-plataforma que permite administrar fácilmente diferentes servicios como Apache, MySQL, PHP, entre otros.

Durante esta clase los instalaremos, principalmente para usar PHP en el sistema.

Descargando e Instalando PHP con XAMPP
03:23

Composer permite instalar y administrar las dependencias de múltiples proyectos PHP, lo cual incluye Laravel.

Durante esta clase verás cómo a partir de la instalación de PHP de la clase anterior se puede instalar composer fácilmente.

Descargando e Instalando Composer
03:35

Virtual Box es un proyecto de Oracle muy popular para la fácil virtualización del hardware, permitiendo la creación de máquinas virtuales de cualquier tipo al interior de tu propio sistema.

Descargando e Instalando Virtual Box
02:06

Vagrant es un proyecto que te ayudará a crear máquinas virtuales completamente configuradas y preparadas para diferentes tareas en Virtual Box muy fácilmente.

Descargando e Instalando Vagrant
02:11

Sublime Text 3 es la versión reciente de uno de los editores de código más populares. Se usa para el desarrollo en múltiples lenguajes de programación y cuenta con una comunidad muy activa que brinda infinidad de plugins o paquetes adicionales para mejorar muchísimo más sus funcionalidades.

Descargando e Instalando Sublime Text 3
02:25

Por medio de Git Shell podrás ejecutar múltiples comandos avanzados que normalmente no está disponibles en sistemas Windows. Es muy recomendable instalar esta herramienta para seguir el curso sin problemas y acceder a una gran variedad de comandos que no son disponibles de forma nativa en WIndows.

Si usas otro sistema operativo, puedes omitir este paso, sin embargo, también te puede ser de gran ayuda.

Descargando e Instalando Github Shell
03:24

Node es un sistema principalmente útil para tareas relacionadas con el frontend. Principalmente lo instalaremos, para tener acceso a NPM el cual nos facilita la gestión de dependencias para el frontend. Es como composer, pero en lugar de PHP, es para CSS y JavaScript.

Descargando e Instalando Node y NPM
02:42

Postman es una herramienta muy popular en el mundo de las APIs. Por medio de este programa, podremos realizar peticiones de todo tipo a nuestra API para comprobar todas las funcionalidades clase a clase.

Descargando e Instalando Postman para Probar la API RESTful
02:00
+ Creando y Estableciendo la Estructura Inicial de Laravel para la API RESTful
7 lectures 21:22

Durante esta clase aprenderás a obtener la estructura básica inicial de cualquier proyecto Laravel, por medio de composer.

Obteniendo Laravel Usando Composer
03:42

Homestead es un box de vagrant que nos permitirá construir fácilmente una completa máquina virtual diseñada para proyectos de Laravel principalmente.

Homestead es un proyecto propio de la organización Laravel y se mantiene muy actualizado y con grandes aportes de la comunidad.

Agregando Homestead de Laravel Como una Dependencia del Proyecto
01:19

Toma algunas notas de un paso adicional a seguir si estás utilizando Laravel 6

Laravel 6 (o superior): Un paso adicional
00:24

Por medio de un archivo llamado Homestead.yaml, al interior de nuestro proyecto, podrás configurar fácilmente las características principales de Homestead, como dirección IP, nombre de la base de datos, ubicación del proyecto, cantidad de memoria y de CPUs, entre otros.

Estableciendo la Configuración para Homestead de Laravel
04:07

Para poder usar el dominio virtual asignado a la máquina virtual de Homestead, es necesario indicarle a nuestro sistema, dónde enviar las peticiones una vez que intentemos acceder al dominio elegido (apirestful.dev)

Agregando el Dominio de Desarrollo al Sistema
03:26

Durante esta clase conocerás los principales comandos necesarios para gestionar tu máquina virtual con Vagrant.

Comandos para la creación, destrucción, inicio y apagado, junto con las conexión a través de SSH a la misma.

Se recomienda el uso del Git shell, especialmente en Windows, para la conexión SSH.

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

Conéctate a tu máquina virtual por medio de vagrant ssh y una vez adentro, averigua cómo salir de ella fácilmente.

Averigua cómo salir de la máquina virtual
1 question

Averigua el modo en el que se puede usar Composer para mantener las dependencias del proyecto actualizadas, sin correr el riesgo de introducir cambios que dañen el correcto funcionamiento del proyecto.

Preview 03:35
+ Configurando y Usando Sublime Text 3 para Desarrollar la API RESTful con Laravel
6 lectures 16:51

El package control, es el paso inicial que nos abre las puertas a un enorme mundo de paquetes y plugins para sublime. Por medio de este, se pueden instalar todos los paquetes disponibles para Sublime Text.

Instalando el Package Control
02:27

Aprende cómo crear y gestionar tus proyectos con Sublime Text 3, para poder mantener tus espacio de desarrollo ordenado y acceder fácilmente a tu código.

Creando y Usando Proyectos
02:05

SublimeCodeIntel es una herramienta propia para Sublime Text que facilita muchísimo la navegación a través de la definición de diferentes clases, métodos y variables tanto de nuestro código como del código interno de Laravel u otros paquetes.

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

Al instalar SideBarEnhencement podrás acceder a funcionalidades avanzadas en la barra lateral, tales como búsqueda avanzada, fácil creación, eliminación y gestión de archivos ey muchas más.

Instalando y Usando SideBarEnhancement
01:39

Por medio de SublimeLinter para PHP, podrás detectar fácilmente errores en el código, ayudando así a un proceso de desarrollo más confiable y rápido.

Instalando y Usando SublimeLinter para PHP
02:50

Con PHPCompanion, obtienes acceso a múltiples funcionalidades entre las cuales, se destaca la posibilidad de automáticamente resolver la ubicación de las definiciones que se tienen el las sentencias "use" de tu proyecto. Evitando así tener que acceder a ellas manualmente o tener que memorizarlas.

Instalando y Usando PHPCompanion para Importar Definiciones de Laravel
04:43
+ Comprendiendo el Caso de Estudio para la API RESTful
2 lectures 10:07

Vamos uno a uno con los diferentes modelos/entidades/recursos que conformarán la API RESTful, sus atributos nombres, características y relaciones entre ellos.

Preview 06:26

Los End-Points son todas las posibles rutas o URLs que la API va a proporcionar para brindar acceso a diferentes opciones, recursos y utilidades.

Durante esta clase verás la lista completa de todas ellas, cómo funcionan, sus nombres, acciones, métodos/verbos y algunos detalles más.

Preview 03:41
+ Descubriendo y Configurando la Estructura de Laravel para la API RESTful
4 lectures 19:01

Durante esta clase podrás familiarizarte con los componentes fundamentales de Laravel, la ubicación de los elementos más elementales como modelos, vistas y controladores, entre muchas más.

Descubriendo la Estructura de Laravel
06:29

PHP Artisan, es uno de los atractivos de Laravel. Permite generar código, junto con la interacción directa con la aplicación a partir de comandos simples de consola.

Durante esta clase podrás ver cómo se accede a la lista de comandos de PHP Artisan, cómo obtener ayuda específica para un comando cualquiera y mucho más.

Descubriendo PHP Artisan
04:17

Las variables de entorno, son valores que normalmente deberían cambiar entre un entorno y otro, por ejemplo, el acceso a la base de datos seguramente es diferente en tu equipo local que en tu servidor de producción.

En esta clase verás como funcionan estas variables, dónde se encuentran y cómo se usan desde los diferentes archivos de configuración de Laravel.

Configurando las variables de entorno de Laravel
03:38

Durante esta clase verás los cambios principales que ha sufrido el sistema de rutas en las versiones más recientes de Laravel y cómo ahora puedes separar correctamente tu rutas según el tipo de aplicación que estés desarrollando.

Comprendiendo y Configurando el Sistema de Rutas de Laravel para APIs RESTful
04:37
+ Creando los Componentes Iniciales de Laravel para la API RESTful
4 lectures 19:35

Estamos a punto de comenzar con el código y es  muy posible que en caminos surjan errores.

Descubre una buena forma de resolver errores comunes y tener una buena guía del código original del curso.

Preview 02:16

Durante esta clase verás cómo generar la estructura inicial de los modelos del sistema, junto con sus migraciones por medio del uso de comandos de php artisan.

Recuerda que el orden de las migraciones es muy importante, así que debes prestar atención al orden en el que se crea cada modelo con sus respectivas migraciones.

Preview 05:52

Como en la clase anterior, también es posible crear la estructura inicial de los controladores por medio de comandos de php artisan.

Durante esta clase verás de modo especial la creación de controladores de tipo recurso que permiten implementar fácilmente operaciones CRUD sobre los recursos.

Creando la Estructura Inicial de Laravel para Controladores
03:54

Así como sucede con los controladores de recurso, también existen rutas de tipo de recurso. Como es de esperarse, estas rutas facilitan la conexión de una URL y un recurso dados con una acción específica de un controlador.

De modo especial, podrás ver cómo ciertas rutas sólo hacen uso de un pequeño conjunto de métodos y no de todos ellos.

Creando algunos End-Point para la API RESTful Usando Rutas de Recurso de Laravel
07:33
+ Implementando los Modelos de la API RESTful y sus Relaciones con Eloquent
5 lectures 20:13

Durante esta clase agregarás las propiedades del modelo Category, indicando cuales de los atributos de este modelo pueden ser asignados de manera masiva $fillable.

Preview 02:08

Durante esta clase agregarás las propiedades del modelo Product, indicando cuales de los atributos de este modelo pueden ser asignados de manera masiva $fillable, junto con aquellos que deberían estar ocultos $hidden

Implementando las Propiedades para Product
04:04

Durante esta clase agregarás las propiedades para el modelo Transaction, indicando una vez más cuales de los atributos de este modelo pueden ser asignados de manera masiva $fillable.

Implementando las Propiedades para Transaction
01:23

Durante esta clase completarás la lista de atributos asignables ($fillable) acorde al diseño del sistema de la API, junto con los atributos que tendrán que ser ocultos $hidden.

Implementando las Propiedades de User
06:38

En esta clase podrás construir las diferentes relaciones entre cada modelo. Podrás aprender relaciones de uno a muchos y de muchos a muchos, junto con la importancia de la clave foránea y en cual modelo debe ser asignada.

Implementando las Relaciones Entre los Modelos
06:00
+ Generando la Estructura de la Base de Datos Usando Migraciones de Laravel
6 lectures 17:04

A partir de Laravel 5.4 se cambió el charset de la base de datos por utf8-mb4, haciéndolo más pesado de lo normal. Esto causa algunas inconsistencias con algunas versiones anteriores de MySQL y MariaDB para lo cual es necesario implementar varias soluciones.

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

En esta clase agregarás todos los atributos requeridos para la tabla users. Lo cual podrás hacer programáticamente por medio de una migración propia para esta tabla.

Implementando la Migración Para Users
02:38

En esta clase agregarás los atributos que conforman tabla products, según el diseño de la API. Esto se puede hacer de modo programático con las migraciones creadas junto con el modelo.

Implementando la Migración Para Products
03:27

En esta clase agregarás todos los atributos requeridos para la tabla transactions. Lo cual podrás hacer programáticamente por medio de una migración propia para esta tabla.

Implementando la Migración Para Transactions
01:24

En esta clase agregarás los atributos que conforman tabla categories, según el diseño de la API. Esto se puede hacer de modo programático con las migraciones creadas junto con el modelo.

Implementando la Migración Para Categories
01:33

Para resolver la relación de muchos a mucho existente entre product y category, es necesario crear una tabla pivote.

Esto se puede hacer fácilmente por medio de una migración. Recuerda que el orden en el nombre de la migración es muy importante.

Creando la Migración Para la Tabla Pivote
04:42
+ Creando Factories de Laravel para Insertar Información en la Base de Datos
6 lectures 28:31

Por medio de los factories, es posible generar de forma automática instancias realistas de los modelos, a partir de datos falsos (generador con faker).

En este clase verás cómo construir el factory para generar instancias de usuarios.

Creando el Factory para User
04:52

Construye el factory para el modelo category y de ese modo poder generar instancias automáticamente.

Creando el Factory para Category
01:43

Construye instancias de producto, a partir de datos falsos de modo automatizado, por medio del factory que implementarás en esta clase.

Creando el Factory de Product
04:33

Crea transacciones de modo automatizado por medio de datos generados aleatoriamente y relacionándolos con otras instancias, automáticamente, desde el factory para transaction.

Creando el Factory de Transaction
04:34

Una vez creados los factories, es necesario usarlos desde el DatabaseSeeder, para indicar el orden en el que estos se ejecutarán y la cantidad de instancias a crear para cada modelo.

Usando los Factories Desde el DatabaseSeeder de Laravel
07:32

Una vez creados los factories y el seeder que los use, es momento de ejecutar todo el proceso, por medio de un comando de php artisan.

En el camino, verás cómo resolver algunos errores que se cometieron en el proceso.

Cómo Ejecutar Las Migraciones y El Seeder Usando Artisan de Laravel
05:17
Requirements
  • Es muy recomendable dominio básico de Programación orientada a objetos
  • Nociones fundamentales de PHP (clases, funciones, métodos, traits, herencia)
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.

Who this course is for:
  • Este curso es para todos los amantes del desarrollo web con PHP
  • Este curso es para todos aquellos que necesiten desarrollar su propia API completamente RESTful
  • Si buscas actualizarte a la versión más reciente de Laravel (Laravel 5.4)
  • Si deseas hacer un desarrollo completo de tus proyectos y tu API RESTful con Laravel 5.4
  • Si quieres construir tu propia API RESTful totalmente funcional y paso a paso
  • Si necesitas mantener tus habilidades al día y ser competitivo