web-dev-qa-db-fra.com

GraphQL ou REST

Quelqu'un a-t-il essayé de développer un GraphQL au lieu de RESTful API? Quelqu'un peut-il donner des avantages et des inconvénients de la vie réelle (pas seulement théorique)? Fondamentalement, à partir de mes recherches, j'ai trouvé que la puissance GraphQL est d'obtenir exactement ce dont vous n'avez besoin de rien de plus. Où avec [~ # ~] reste [~ # ~] API, vous devez souvent faire une série de demandes et vous pouvez facilement récupérer plus d'informations que nécessaire.

Vaut-il le temps consacré à la recherche et à l'apprentissage GraphQL ? Des bugs ou des showstoppers qui attirent votre attention?

21
Lazar Lazarov

Cette question est principalement basée sur l'opinion.

Mais d'après mon expérience: plusieurs demandes sur une API RESTful pour une seule chose indiquent souvent un manque dans la conception de l'API, à savoir que la ressource nécessaire n'était pas disponible et donc des éléments doivent être rassemblés à partir de différentes ressources pour compenser cela.

Une API REST qui pourrait être facilement remplacée par GraphQL indique que l'API était en fait une API CRUD-HTTP, ce qui est considéré comme un anti-modèle parmi les évangélistes REST.

Il convient également de noter que GraphQL met la responsabilité sur le client, car l'API de sauvegarde est réduite pour être une banque de données qui doit simplement être interrogée. REST d'autre part renforce le comportement du client et réduit donc la responsabilité sur celui-ci. Le client est réduit pour être quelque chose de similaire à un navigateur.

Il y a des cas où l'une ou l'autre approche donnerait de meilleurs résultats, mais cela dépend beaucoup de votre situation.

26
sschrass