🔗 Crear APIs REST con Laravel
Construye APIs modernas con Laravel
Laravel facilita la creación de APIs RESTful gracias a su arquitectura basada en rutas, controladores y respuestas JSON. En esta lección aprenderás cómo crear una API para gestionar recursos (por ejemplo, productos) utilizando controladores tipo API y rutas dedicadas.
📘 ¿Qué es una API REST?
Una API REST permite que distintas aplicaciones se comuniquen entre sí mediante peticiones HTTP,
devolviendo datos en formato JSON.
En Laravel, crear una API REST significa definir rutas en routes/api.php que se comunican con controladores especializados.
⚙️ Crear un controlador API
Los controladores API en Laravel se crean con la opción --api, lo que genera solo los métodos necesarios para una API REST.
Comando para crear controlador API
php artisan make:controller Api/ProductController --api
Ejemplo de un controlador API básico:
app/Http/Controllers/Api/ProductController.php
json(Product::all());
}
public function store(Request $request) {
$product = Product::create($request->all());
return response()->json($product, 201);
}
public function show(Product $product) {
return response()->json($product);
}
public function update(Request $request, Product $product) {
$product->update($request->all());
return response()->json($product);
}
public function destroy(Product $product) {
$product->delete();
return response()->json(null, 204);
}
}
?>
🗺️ Definir rutas API
Las rutas para las APIs se definen en el archivo routes/api.php.
Laravel incluye por defecto un middleware api que gestiona la serialización de respuestas JSON.
routes/api.php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\ProductController;
Route::apiResource('products', ProductController::class);
🧩 Ejemplo visual: simulador de API
Simula peticiones API REST y observa las respuestas JSON que generaría Laravel:
✅ Buenas prácticas al crear APIs
- Usa Resource Controllers o
apiResource()para mantener consistencia REST. - Siempre devuelve respuestas JSON con los códigos HTTP correctos (201, 404, 204, etc.).
- Utiliza API Resources para formatear salidas JSON complejas.
- Protege tus rutas con
auth:sanctumoauth:apicuando requieran autenticación.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias