Créer une API REST avec Laravel
Laravel est idéal pour construire une API REST. Le framework fournit tout, les routes dédiées, les contrôleurs de ressources, le formatage JSON avec les API Resources, la validation des entrées et l’authentification par jetons avec Sanctum. Voici les grandes étapes, de la première route jusqu’à la sécurisation de vos accès.
Définir les routes et les ressources
Vos points d’entrée d’API vivent dans le fichier routes/api.php, séparé des pages web. Laravel y ajoute automatiquement le préfixe /api.
- Déclarez une route de ressource avec apiResource pour couvrir les actions courantes, la lecture, la création, la mise à jour et la suppression.
- Respectez les verbes HTTP, GET pour lire, POST pour créer, PUT ou PATCH pour modifier, DELETE pour supprimer.
- Pensez au versionnage, un préfixe comme /v1 protège vos clients quand l’API évolue.
Si Laravel est encore nouveau pour vous, ce rappel des bases pose le décor avant de coder.
Créer les contrôleurs et les API Resources
Un contrôleur de ressource regroupe la logique de chaque action dans une classe claire. Générez-le avec l’option resource, puis remplissez chaque méthode.
- Utilisez Eloquent pour lire et écrire vos données.
- Formatez chaque réponse avec une API Resource, elle transforme votre modèle en JSON propre et masque les champs sensibles.
- Ajoutez la pagination sur les listes, elle évite de renvoyer des milliers de lignes d’un seul coup et limite le problème des requêtes en cascade.
Pour prendre ces classes en main pas à pas, ce guide pour débuter avec Laravel aide à aller vite.
Valider les données et gérer les erreurs
Une API sérieuse ne fait jamais confiance aux données reçues. Laravel valide les entrées avec les Form Requests, des classes dédiées qui portent vos règles.
- Déclarez vos règles dans une Form Request, le contrôleur reste léger et lisible.
- Renvoyez des codes de statut justes, 200 pour un succès, 201 pour une création, 422 pour une donnée invalide, 404 pour une ressource absente.
- Soignez le format des erreurs, un message JSON clair aide qui consomme votre API à corriger vite.
Sécuriser l’accès avec Laravel Sanctum
La plupart des API demandent une authentification. Laravel Sanctum délivre des jetons que le client envoie dans l’en-tête Authorization à chaque requête.
- Installez Sanctum, puis protégez vos routes avec son middleware d’authentification.
- Choisissez Sanctum pour une SPA ou une API simple, Passport pour un besoin OAuth2 complet.
- Limitez le débit avec le throttling pour freiner les abus et protéger votre serveur.
Pour aller plus loin, notre article sur l’authentification et la sécurité dans Laravel détaille chaque option.
Les liens à garder sous la main
Gardez ces pages ouvertes pendant que vous construisez votre API.
Questions fréquentes
Une application Laravel sur mesure
Laravel permet des outils web puissants, on les met à votre service. On conçoit et développe votre application à Montpellier, robuste et évolutive.
Parler à DavidDes agents IA pour votre outil web
L’Agent Webmaster maintient votre application, l’Agent Cybersécurité la protège et l’Agent Veille technique anticipe les évolutions. 12 agents IA au travail.
Découvrir un agent IA