32 lines
1.2 KiB
PHP
32 lines
1.2 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Api\ClientController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| TP9 / TP10 - Routes de l'API
|
|
|--------------------------------------------------------------------------
|
|
| J'ai séparé les routes API des routes web afin que l'application puisse
|
|
| continuer à utiliser Blade tout en proposant des données au format JSON.
|
|
*/
|
|
|
|
// TP9 : j'ai gardé cette route simple pour vérifier rapidement que l'API répond.
|
|
Route::get('/test', function () {
|
|
return [
|
|
'message' => 'Mon API fonctionne',
|
|
'version' => 1,
|
|
];
|
|
});
|
|
|
|
// TP9 - défi : j'ai placé /search AVANT /{client} pour éviter que Laravel
|
|
// interprète le mot "search" comme l'identifiant d'un client.
|
|
Route::get('/clients/search', [ClientController::class, 'search']);
|
|
|
|
// TP9 + TP10 : CRUD complet de l'API clients.
|
|
Route::get('/clients', [ClientController::class, 'index']);
|
|
Route::post('/clients', [ClientController::class, 'store']);
|
|
Route::get('/clients/{client}', [ClientController::class, 'show']);
|
|
Route::patch('/clients/{client}', [ClientController::class, 'update']);
|
|
Route::delete('/clients/{client}', [ClientController::class, 'destroy']);
|