RESTful API with Laravel: Build a Real API with Laravel

Build a RESTful API for a market system using Laravel and dominate the most challenging features of APIs with Laravel
4.50 (1297 reviews)
Udemy
platform
English
language
Web Development
category
instructor
RESTful API with Laravel: Build a Real API with Laravel
8 135
students
15 hours
content
Nov 2022
last update
$79.99
regular price

Why take this course?

¡Claro! A continuación, te detallo los pasos y recursos que utilizarás para desarrollar una API RESTful utilizando Laravel, basándome en las características y funcionalidades que mencionaste. Vamos a construir esta API de manera paso a paso.

1. Configuración del entorno de desarrollo

Antes de comenzar, asegúrate de tener instalado:

  • PHP: Versión compatible con Laravel (a partir de PHP 7.3).
  • Composer: Para manejar dependencias.
  • Laravel Installer: para facilitar la instalación y actualización de Laravel.
  • Git: Para control de versiones.
  • Sublime Text o tu editor de código preferido.
  • PostgreSQL/MySQL/SQLite: Para la base de datos.
  • Node.js y NPM: Si planeas usar Laravel Mix para la compilación de assets.

2. Creación del proyecto Laravel

Usa el Laravel Installer para crear un nuevo proyecto Laravel:

laravel new my-api-project
cd my-api-project

3. Configuración de la base de datos

Edita el archivo .env para configurar la conexión a tu base de datos.

4. Estructura de la base de datos

Utiliza Laravel Migrations para crear las tablas necesarias. Puedes generar los modelos y luego las migraciones con:

php artisan make:model ModelName -m

Aplía las migraciones con:

php artisan migrate

5. Creación de factories y seeders

Las factories permiten generar datos ficticios para probar tu API. Puedes generarlas con:

php artisan make:factory ModelNameFactory

Los seeders te permiten llenar la base de datos con datos iniciales. Crea un seeder con:

php artisan make:seeder DatabaseSeeder --all

Ejecuta los seeders con:

php artisan db:seed --force

6. Autenticación y protección de la API

Para la autenticación, puedes usar Laravel Breeze o Jetstream con Laravel Passport para habilitar OAuth2.

7. Uso de Middlewares

Crea middlewares para limitar el acceso y realizar comprobaciones antes de ejecutar ciertas acciones.

php artisan make:middleware MyMiddleware

8. Controladores y rutas

Crea controladores para manejar la lógica de tu API y define las rutas en routes/api.php.

php artisan make:controller ApiController

9. Validación de solicitudes

Utiliza reglas de validación dentro de tus controladores para asegurarte de que los datos recibidos cumplan con las expectativas.

10. Paginación de resultados

Implementa la paginación utilizando paginate() en tus consultas Eloquent o Query Builder.

11. Sorting y Filtering

Permite que los clientes de la API filtren y ordenen los resultados mediante parámetros URL.

12. Caché de respuestas

Usa el sistema de caché de Laravel para almacenar y recuperar rápidamente respuestas.

13. HATEOAS y Transformación de Respuestas

Utiliza PHP Fractal para transformar las respuestas de tu API a un formato más legible o estructurado, como HATEOAS.

14. CORS (Cross-Origin Resource Sharing)

Configura CORS en Laravel para permitir que tus recursos sean accesibles desde diferentes orígenes.

15. Documentación de la API

Considera usar Swagger o Postman para documentar tu API y facilitar su uso.

16. Pruebas unitarias y de integración

Escribe pruebas para asegurarte de que tu API funciona como se espera.

17. Despliegue

Prepara tu proyecto para producción y desplíagalo en un servidor. Puedes usar herramientas como Laravel Forge o Envoyer para facilitar este proceso.

Recursos adicionales:

  • Laravel Documentation: https://laravel.com/docs
  • Laravel Passport: https://laravel.com/docs/8.x/passport
  • PHP Fractal: https://fractal.thephpleague.com/version/0.25/
  • Laravel Mix: https://laravel-mix.org/
  • Swagger (OpenAPI) Tools: https://swagger.io/tools/
  • Testing with Laravel: https://laravel.com/docs/8.x/testing

Recuerda que este es un resumen de los pasos generales para crear una API RESTful en Laravel. Cada proyecto puede tener requerimientos específicos que modificarán este flujo básico. Mantén tu código organizado y sigue las mejores prácticas de Laravel para garantizar la calidad y escalabilidad de tu API.

Course Gallery

RESTful API with Laravel: Build a Real API with Laravel – Screenshot 1
Screenshot 1RESTful API with Laravel: Build a Real API with Laravel
RESTful API with Laravel: Build a Real API with Laravel – Screenshot 2
Screenshot 2RESTful API with Laravel: Build a Real API with Laravel
RESTful API with Laravel: Build a Real API with Laravel – Screenshot 3
Screenshot 3RESTful API with Laravel: Build a Real API with Laravel
RESTful API with Laravel: Build a Real API with Laravel – Screenshot 4
Screenshot 4RESTful API with Laravel: Build a Real API with Laravel

Loading charts...

Comidoc Review

Our Verdict

With its real-world project examples and in-depth exploration of API development techniques, this Laravel course is an excellent resource for those looking to refine their skills. However, the outdated code samples, instructor's accent, and lack of deployment instructions may present hurdles that detract from the overall learning experience.

What We Liked

  • Designed for learners who want to focus solely on API development with Laravel
  • Comprehensive coverage of key concepts, tools, and methodologies in API development
  • Instructor provides valuable tips and best practices from real-world experience
  • Includes extensive exercises that help reinforce understanding of various topics

Potential Drawbacks

  • Some outdated code samples that may require adjustments for compatibility with newer Laravel versions
  • The instructor's accent can be challenging for some learners to follow and understand
  • Lacks a deployment section, leaving students uncertain about how to deploy their finished projects
  • Limited installations instructions for Mac and Linux systems

Related Topics

1109150
udemy ID
10/02/2017
course created date
23/11/2019
course indexed date
Bot
course submited by