Contenido del curso
Creación del proyecto
Planificación y mantenimiento
- 8

Planificación de rutas REST en Laravel
06:08 min - 9

Recursos y colecciones en Laravel API
12:59 min - 10

Recursos anidados en Laravel API
11:48 min - 11

Cómo reducir 932 consultas con Telescope
10:54 min - 12

CRUD de Recetas con Laravel y Symfony en Visual Studio Code
16:21 min - 13

Validación de Datos en Aplicaciones Web con Laravel
11:24 min
Funciones de seguridad
- 14

Autenticación vs. autorización
03:19 min - 15

Proteger rutas de API con Sanctum
09:27 min - 16

Ruta de login y tokens con Sanctum
12:32 min - 17

Corrección de bugs de seguridad en aplicaciones web
08:02 min - 18

Políticas de acceso en Laravel con Artisan
07:27 min - 19

Upload e validação de imagens em Laravel
07:56 min - 20

Qué es autenticación en la web
03:54 min
API Testing
API Breaking Changes
Conclusiones
Buenas prácticas finales para tu API en Laravel
Resumen
Construir una API profesional en Laravel implica más que escribir endpoints: requiere organizar rutas, separar lógica, versionar el código y respaldarlo con pruebas. Si estás aprendiendo a desarrollar aplicaciones backend mantenibles y escalables, estas prácticas te darán la base para proyectos reales que crecen sin romperse.
¿Cómo se estructura una API profesional desde las rutas?
Todo arranca en las rutas. Tú defines qué quieres entregar y qué necesita la aplicación, y el sistema conecta automáticamente esa solicitud con el código que resuelve la respuesta.
En el proyecto trabajamos, por ejemplo, un sistema de categorías que responde a peticiones específicas. Cada ruta apunta a un método del controlador, y ese método se encarga de un único objetivo: resolver la solicitud. Nada más.
Esta separación es la que mantiene tu código limpio y predecible. Cuando un controlador hace demasiadas cosas, mantenerlo se vuelve un dolor de cabeza.
¿Qué hace un controlador en una API? Recibe la solicitud que llega por una ruta, ejecuta la lógica mínima necesaria y devuelve la respuesta. La lógica pesada y el formato de salida se delegan a otras capas como recursos y servicios.
¿Por qué usar versiones en una API?
El versionado es lo que te permite evolucionar tu API sin romper a quienes ya la usan. Si un cliente tiene una aplicación funcionando con la versión 1 y no quiere actualizar, su sistema sigue estable porque la lógica vive en una carpeta separada.
Este mismo principio lo puedes aplicar en dos lugares clave:
- Las validaciones, para que las reglas de cada versión convivan sin pisarse.
- El sistema de recursos, donde defines cómo se transforma la respuesta.
Así, cuando lances la versión 2, la versión 1 sigue intacta y tus usuarios deciden cuándo migrar.
¿Cómo limpiar controladores con recursos y validaciones?
Los controladores deben enfocarse en orquestar, no en formatear datos ni en validar campos uno por uno. Para eso existen los resources y las form requests.
En el proyecto, cuando una ruta llama a un método del controlador, este hace la consulta y la retorna. Pero qué retorna exactamente, con qué campos y en qué formato, eso vive aislado en un recurso. Tienes un conjunto de campos definido en un solo lugar, y si cambia el formato de salida, modificas un archivo y listo.
Esta separación te da tres ventajas concretas:
- Controladores cortos y legibles.
- Cambios de formato sin tocar la lógica de negocio.
- Reutilización del mismo recurso en distintas rutas.
¿Qué es TDD y cómo se aplica al desarrollar una API?
Todo el código del proyecto está respaldado por pruebas, y eso es lo que lo vuelve profesional. Hicimos una introducción a TDD, que es una metodología con un ciclo muy claro.
El ciclo rojo, verde, refactor
El flujo de TDD se resume en tres pasos que repites una y otra vez:
- Escribes el test primero y obtienes una respuesta en rojo, porque aún no existe el código.
- Implementas lo mínimo para que el test pase a verde.
- Refactorizas el código sabiendo que las pruebas te avisan si algo se rompe.
¿Qué es TDD en desarrollo de software? Es una práctica donde escribes la prueba antes que el código. Primero ves el test fallar (rojo), luego lo haces pasar (verde) y después mejoras el código (refactor) sin perder esa garantía.
Refactorizar con confianza: de ruta relativa a absoluta
Un ejemplo concreto que aplicamos en recursos: una imagen llegaba con una ruta relativa, es decir, que empieza con una carpeta y luego apunta al archivo .png. Decidimos cambiarla a una ruta absoluta, esa que comienza con http:// y contiene la dirección completa del recurso.
Usamos una función que transforma la ruta y, al correr las pruebas, el código sigue en verde. Eso es refactorización real: modificas la implementación, mantienes el comportamiento y las pruebas te lo confirman.
¿Qué obtienes al juntar rutas, recursos, versiones y testing?
Todos estos conceptos juntos producen una herramienta profesional con las operaciones típicas de una API:
- Listar recursos.
- Crear un nuevo registro.
- Visualizar un recurso individual.
- Actualizar datos existentes.
- Eliminar un dato.
El resultado es un sistema flexible, escalable y mantenible. Flexible porque puedes versionar sin romper. Escalable porque la separación de capas te permite crecer. Mantenible porque las pruebas te respaldan en cada cambio.
Lleva estas prácticas a tus próximos proyectos: separa la lógica en carpetas por versión, mantén los controladores enfocados, aísla el formato en recursos y respalda todo con pruebas. Cuéntame en los comentarios qué ya sabías antes de empezar, qué aprendiste aquí y qué buenas prácticas sumarías tú a esta lista.