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
Viendo ahora - 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
CRUD de Recetas con Laravel y Symfony en Visual Studio Code
Resumen
¿Cómo crear recetas en Laravel?
Desarrollar una función para crear recetas implica aceptar y gestionar datos ingresados por el usuario en una interfaz web y luego procesar estos datos en el servidor. Es un paso crucial para aplicaciones que manejan grandes volúmenes de datos y requieren seguridad y eficiencia.
Primero, debemos utilizar la clase Request de Laravel para recibir datos en un formato JSON. Laravel permite realizar asignaciones masivas de datos, pero es importante configurar una lista blanca que defina qué datos específicamente pueden ser asignados. Para ello, se utiliza la propiedad $fillable dentro de los modelos de Eloquent.
protected $fillable = [ 'categoria_id', 'user_id', 'titulo', 'descripcion', 'ingredientes', 'imagen', 'etiquetas' ];
Esta propiedad actúa como una capa de seguridad al controlar qué datos se permiten para la asignación masiva. Luego, una vez que los datos son almacenados, enviamos una respuesta con el estado HTTP correcto, utilizando componentes de Symfony para mayor claridad y buenas prácticas de código.
¿Cómo manejar estados HTTP al crear?
Al crear una receta, utilizamos el estado HTTP 201, el cual representa la creación exitosa de un recurso. Pero en lugar de usar el número directamente, lo cual puede ser poco claro, es más recomendable usar las constantes de Symfony para mejorar la legibilidad.
use Symfony\Component\HttpFoundation\Response; // Al crear una receta return response()->json($resource, Response::HTTP_CREATED);
Para manejar las etiquetas, utilizamos el método attach que implica agregar etiquetas a una receta sin eliminar las existentes previamente. Sin embargo, cuando queremos actualizar las etiquetas completamente, usamos sync para asegurar que solo existan las etiquetas especificadas.
¿Cómo actualizar recetas y manejar etiquetas?
El proceso de actualización de una receta implica buscar el registro existente y modificar sus datos. Para ello, el método HTTP correcto es PUT que indica una operación de actualización en la API.
$recipe->update($request->all()); $recipe->tags()->sync($tagArray);
El sincronizar etiquetas con sync permite mantener las etiquetas actualizadas de acuerdo a las más recientes solicitudes del usuario. Mientras que, la respuesta debe ser un estado 200 que denota una operación exitosa sin alterar el contenido del recurso.
¿Cómo eliminar con seguridad en Laravel?
Eliminar recursos requiere cuidado, especialmente cuando se trata de operaciones irreversibles. Utilizamos el método DELETE acompañado de una respuesta HTTP 204, lo cual indica que la operación fue exitosa, pero no queda contenido que mostrar.
$recipe->delete(); return response()->json(null, Response::HTTP_NO_CONTENT);
En caso de errores durante la eliminación, es crucial revisar el código y entender que un error como el 500 indica un mal funcionamiento del servidor que puede requerir ajustes en el código o la lógica de negocio.
Consejos prácticos:
- Errores comunes: Prestar atención a los espacios y detalles de los campos, ya que un pequeño error puede desencadenar fallos de servidor.
- Testing: Utilizar Postman para probar todas las rutas, asegurando que los métodos devuelvan las respuestas esperadas.
- Manejo de errores: Configurar un manejo de excepciones efectivo que capture y logre revisar fallos de código de manera más eficiente.
El uso de estas herramientas y prácticas asegura un desarrollo robusto y eficiente. ¡Continúa explorando el poderoso mundo del desarrollo web y sigue mejorando tus habilidades en Laravel!