Aller au contenu principal

Conventions API

Les contrôleurs API doivent retourner du JSON cohérent et utiliser Form Requests, Resources, Policies et rate limits.

Structure de réponse

{
"data": {},
"meta": {},
"message": "Message optionnel lisible par l'humain"
}

Codes HTTP

CasCode
Succès200
Créé201
Pas de contenu204
Erreur de validation422
Non authentifié401
Interdit403
Non trouvé404

Règles

  • Utiliser les API Resources pour la sortie des modèles
  • Ne jamais exposer les champs internes/cachés
  • Utiliser la pagination pour les collections
  • Retourner les erreurs de validation via les défauts Laravel
  • Utiliser des noms de routes stables et versionner si nécessaire

Exemple de ressource API

class UserResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'id' => $this->id_user,
'name' => $this->name,
'email' => $this->email,
'is_active' => $this->is_active,
'service' => new ServiceResource($this->whenLoaded('service')),
'created_at' => $this->created_at?->toIso8601String(),
];
}
}