Buenas prácticas a nivel general
Convenciones para crear APIs: rutas y datos
¿Qué son los HTTP Status Codes?
¿Qué son los Métodos HTTP?
Creación del proyecto
Boilerplate y estructura de datos en frameworks de backend
Creación de datos: factories y seeders
Consulta de datos: rutas y controladores
Consulta de datos con tablas relacionadas
Quiz: Creación del proyecto
Planificación y mantenimiento
¿Cómo planificar el alcance de tus APIs?
Consistencia entre endpoints: recursos y colecciones
Recursos anidados o multinivel
Optimización y auditoría de APIs
Alteración de datos
Validación de datos
Quiz: Planificación y mantenimiento
Funciones de seguridad
Autenticación vs. autorización
Autorización: tokens y middlewares
Autenticación: inicio de sesión y generación de tokens
Corrigiendo bugs de seguridad
Políticas de acceso
Subir imágenes desde API
¿Qué es la autenticación?
Quiz: Funciones de seguridad
API Testing
API Testing
Testing en tags
Testing en recipes
Testing método store
Testing método update
Quiz: API Testing
API Breaking Changes
Versionamiento de la API
Evolución de la API: v2, paginación y TDD
Quiz: API Breaking Changes
Conclusiones
Recapitulación de las buenas prácticas para desarrollo de APIs
Comparte tus buenas prácticas con la comunidad
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Cuando trabajamos con bases de datos en Laravel, es crucial no solo consultar datos individuales, sino también hacerlo de manera que incluyan las relaciones pertinentes con otras tablas. Imagina que buscas una categoría y necesitas que se incluyan todas las recetas asociadas a ella. Del mismo modo, al buscar etiquetas, estas deben estar vinculadas con sus recetas relevantes. Si buscas una receta específica, ella debe presentar su información relacionada, como la categoría a la que pertenece, su creador y las etiquetas asociadas.
Para que Laravel entienda cómo están relacionadas tus tablas, es necesario definir claramente estas relaciones en tus modelos. En el contexto de la clase, se explica cómo registrar relaciones de uno a muchos y de muchos a muchos directamente en el modelo. Aquí te mostramos cómo hacerlo con un ejemplo de categorías y recetas:
// Dentro del modelo de categoría.
public function recetas()
{
return $this->hasMany(Receta::class);
}
Esta función recetas()
indica que una categoría tiene muchas recetas. Así, cuando consultes una categoría, podrás incluir la información de las recetas vinculadas.
En Laravel, existen diferentes maneras de cargar datos junto con sus relaciones. Podemos utilizar métodos como get()
y load()
dependiendo de si estamos comenzando una nueva consulta o si extendemos una ya existente. Ambos métodos nos permiten incluir datos relacionados para hacer nuestras consultas más ricas y completas.
Método get()
: Se utiliza cuando se inicia una consulta desde cero. Permite personalizar las consultas para traer, por ejemplo, recetas junto con su categoría, etiquetas y usuario.
Método load()
: Ideal cuando ya tienes una consulta existente y solo quieres añadir información relacionada. Se usa para cargar datos adicionales en consultas donde ya se ha definido el objeto principal.
Lo esencial es replicar la misma lógica y estructura para diversas entidades que mantienen relaciones entre sí dentro de la base de datos. No solo aplicamos esto en el controlador de categorías, sino también en el de etiquetas y recetas.
Por ejemplo, al consultarse una etiqueta, es posible especificar que se traigan las recetas conectadas a la misma:
// Dentro del modelo de etiqueta.
public function recetas()
{
return $this->belongsToMany(Receta::class);
}
Esto asegura que al consultar una etiqueta, Laravel cargue también todas las recetas que están marcadas con dicha etiqueta.
Registro de relaciones: Tener claro que aunque las relaciones existen físicamente en la base de datos, Laravel necesita directrices en el modelo sobre cómo utilizarlas.
Flexibilidad de consultas: Al usar métodos como get()
y load()
, puedes controlar cuánta información necesitas y cómo quieres combinarla.
Personalización y optimización: Ajustar las consultas para mostrar solo la información necesaria ayuda a mejorar el rendimiento y la eficiencia de la aplicación.
A medida que experimentas con Laravel, recuerda que práctica constante y una comprensión clara de tus datos y sus interrelaciones son fundamentales para diseñar aplicaciones robustas y eficientes. Si estás usando otro framework, comenta cómo gestionas estas relaciones; compartir experiencias enriquece nuestro aprendizaje mutuo.
Aportes 6
Preguntas 0
El profesor Italo es muy bueno, se nota que tiene gran manejo del tema y mucha experiencia. Estos conceptos me han quedado claros gracias a su muy buena explicación!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?