Rutas
Rutas en Laravel
Las rutas en Laravel definen cómo se manejan las solicitudes HTTP en tu aplicación. Puedes configurar rutas en los archivos ubicados en el directorio routes/.
Definir Rutas Básicas
Para definir rutas básicas, edita el archivo routes/web.php:
use Illuminate\Support\Facades\Route; // Ruta para la página de inicio Route::get('/', function () { return view('welcome'); }); // Ruta con un parámetro Route::get('/user/{id}', function ($id) { return "User ID is " . $id; });
Para definir una ruta básica que devuelve una respuesta JSON, edita el archivo routes/api.php:
use Illuminate\Support\Facades\Route; Route::get('/user/{id}', function ($id) { return response()->json(['user_id' => $id]); });
Rutas con Controladores
Para manejar rutas con controladores, primero crea un controlador con Artisan:
php artisan make:controller UserController
Luego, define la ruta en routes/web.php:
use App\Http\Controllers\UserController; // Ruta que utiliza un controlador Route::get('/user/{id}', [UserController::class, 'show']);
En el archivo del controlador UserController.php:
namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function show($id) { return "User ID is " . $id; } }
Si defines una ruta que usa un controlador en routes/api.php:
use App\Http\Controllers\Api\UserController; Route::get('/user/{id}', [UserController::class, 'show']);
En el controlador UserController, define el método show:
namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class UserController extends Controller { public function show($id) { return response()->json(['user_id' => $id]); } }
Rutas de Recursos
Route/WEB
Para generar rutas para un CRUD (Crear, Leer, Actualizar, Eliminar), utiliza Route::resource en routes/web.php:
Route::resource('posts', PostController::class);
Esto crea automáticamente rutas para todas las acciones del controlador.
Route/API
En el archivo routes/api.php, define una ruta que utilice el controlador:
use App\Http\Controllers\Api\UserController; // Ruta que utiliza el controlador UserController Route::get('/user/{id}', [UserController::class, 'show']);
Cuando una solicitud GET se realiza a /api/user/{id}, el método show del UserController será invocado con el ID proporcionado.