Routes d’API et contrôleurs de ressources
Enregistrer des routes RESTful et générer des contrôleurs de ressources avec Artisan.
Routes d’API et contrôleurs de ressources est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.
Routes API dans Laravel
Définissez les routes API dans routes/api.php. Ces routes reçoivent automatiquement le préfixe /api et utilisent le groupe d’intergiciels api (sans état : aucune session ni aucun cookie).
Route API de base
Renvoyez du JSON depuis une fermeture.
<?php
Route::get("/users/{id}", function (int $id) {
$user = User::findOrFail($id);
return response()->json($user);
});Routes de ressources API
Route::apiResource() enregistre 5 routes REST (en excluant create et edit, qui affichent des formulaires).
<?php
// routes/api.php
use App\Http\Controllers\Api\UserController;
Route::apiResource("users", UserController::class);
// GET /api/users → index
// POST /api/users → store
// GET /api/users/{user} → show
// PUT /api/users/{user} → update
// DELETE /api/users/{user} → destroyGénération d’un contrôleur API
Utilisez l’indicateur --api pour générer un contrôleur sans les méthodes create et edit.
$ php artisan make:controller Api/UserController --api --model=UserExemple de contrôleur API
Un contrôleur API renvoie des réponses JSON.
<?php
namespace App\Http\Controllers\Api;
class UserController extends Controller
{
public function index(): JsonResponse
{
return response()->json(User::paginate(15));
}
public function show(User $user): JsonResponse
{
return response()->json($user);
}
public function store(StoreUserRequest $request): JsonResponse
{
$user = User::create($request->validated());
return response()->json($user, 201);
}
public function destroy(User $user): JsonResponse
{
$user->delete();
return response()->json(null, 204);
}
}Codes d’état HTTP
Renvoyez les codes d’état appropriés : 200 (OK), 201 (Créé), 204 (Aucun contenu), 400 (Requête incorrecte), 401 (Non authentifié), 403 (Interdit), 404 (Introuvable), 422 (Entité non traitable).
Validation des requêtes FormRequest
Utilisez les requêtes FormRequest pour obtenir des règles de validation claires et réutilisables.
$ php artisan make:request StoreUserRequestExemple de StoreUserRequest
Définissez les règles et l’autorisation dans la classe de requête.
<?php
class StoreUserRequest extends FormRequest
{
public function authorize(): bool { return true; }
public function rules(): array {
return [
"name" => "required|string|max:255",
"email" => "required|email|unique:users",
];
}
}Routes API groupées
Regroupez les routes API avec un préfixe et un espace de noms.
<?php
Route::prefix("v1")->middleware("auth:sanctum")->group(function () {
Route::apiResource("posts", PostController::class);
Route::apiResource("users", UserController::class);
});except() et only()
Excluez certaines routes de l’enregistrement d’une ressource ou limitez celui-ci à des routes précises.
<?php
Route::apiResource("users", UserController::class)->only(["index", "show"]);
Route::apiResource("posts", PostController::class)->except(["destroy"]);Ressources imbriquées
Enregistrez des routes de ressources imbriquées pour les modèles associés.
<?php
Route::apiResource("users.posts", UserPostController::class);
// GET /api/users/{user}/posts/{post}Résumé
Utilisez Route::apiResource() pour les routes d’API REST dans routes/api.php. Générez les contrôleurs avec --api. Renvoyez du JSON avec les codes d’état HTTP appropriés. Validez les données avec des requêtes FormRequest.
Vérification rapide
Combien de routes apiResource() enregistre-t-elle ?
Questions Fréquemment Posées
La leçon « Routes d’API et contrôleurs de ressources » est-elle gratuite ?
Oui — le texte complet de « Routes d’API et contrôleurs de ressources » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Routes d’API et contrôleurs de ressources » ?
Enregistrer des routes RESTful et générer des contrôleurs de ressources avec Artisan. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer PHP Academy ?
Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Routes d’API et contrôleurs de ressources » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?
Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Routes d’API et contrôleurs de ressources
- Ressources d’API et réponses JSON
- Authentification avec Laravel Sanctum
- Limitation du débit et versionnement d’API