La question revient à chaque projet de portail revendeurs. Voici comment nous tranchons.
REST quand
- Les consommateurs sont nombreux et hétérogènes (intégrateurs, ERP, scripts).
- Le cache HTTP compte : catalogues volumineux, lectures massives.
- Vous voulez une documentation OpenAPI que tout le monde sait lire.
GraphQL quand
- Un front riche (portail, application mobile) compose des écrans à partir de nombreuses entités.
- Les consommateurs sont peu nombreux et proches de vous.
Dans tous les cas
Un contrat relu avec les consommateurs avant le code, des codes d’erreur explicites, un versionnement annoncé six mois à l’avance, des tests de contrat dans la chaîne de livraison.