Recursos de API (API Resources) en Laravel
Los recursos de API en Laravel permiten transformar tus modelos y colecciones de modelos en respuestas JSON de manera sencilla y expresiva. Esto es útil para controlar la estructura y el formato de las respuestas de tu API, asegurando que los datos se presenten de manera consistente y organizada. Los recursos de API son una herramienta poderosa para construir APIs robustas y mantenibles.
Conceptos clave
- Transformación de datos: Los recursos de API transforman los datos del modelo en un formato JSON específico.
- Colecciones de recursos: Permiten transformar múltiples modelos en una colección JSON.
- Personalización de respuestas: Puedes personalizar la estructura y el contenido de las respuestas JSON.
- Atributos condicionales: Permiten incluir o excluir atributos basados en condiciones.
Laravel proporciona un sistema de recursos de API flexible y fácil de usar, permitiendo a los desarrolladores crear APIs que cumplen con los requisitos específicos de sus aplicaciones.
Ejemplo de recurso de API
// Generar un recurso de API
php artisan make:resource ProductoResource
// app/Http/Resources/ProductoResource.php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class ProductoResource extends JsonResource {
public function toArray($request) {
return [
'id' => $this->id,
'nombre' => $this->nombre,
'descripcion' => $this->descripcion,
'precio' => $this->precio,
'stock' => $this->when($request->user() && $request->user()->isAdmin(), $this->stock),
];
}
}
// Usar el recurso en un controlador
use App\Http\Resources\ProductoResource;
use App\Models\Producto;
public function show(Producto $producto) {
return new ProductoResource($producto);
}
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias