GraphQL
GraphQL permet de demander des champs via un schéma d’API typé. Le serveur reste responsable de l’accès aux données et des droits.
Sélectionner les champs nécessaires dans une API
GraphQL est un langage de requête pour les API, accompagné de règles d’exécution côté serveur. Un schéma typé définit les données et les opérations proposées. L’application y sélectionne les champs nécessaires. GraphQL n’impose pas de base de données particulière.
Une entreprise de logiciels fictive prépare un portail client. La sélection { project(id: "P-42") { name } } demande le nom d’un projet si son propre schéma propose ces champs et cet argument. Cet exemple inventé n’est pas une requête envoyée à un service existant. L’implémentation du serveur doit obtenir les données et décider si la personne qui les demande peut les voir. Un appel conforme au schéma n’accorde aucun droit d’accès à lui seul ; le champ interne internalRate doit rester inaccessible aux clients, même s’ils le demandent explicitement.
Le portail doit donc définir les champs proposés et leurs règles d’accès. La sélection des champs répond aux besoins différents des vues ; les temps de réponse réels et le travail de la base de données doivent être examinés dans l’implémentation.
Sources
Termes associés
- APIUne API définit comment un logiciel peut utiliser les fonctions ou données proposées par un autre logiciel.
- RESTREST définit des règles d’architecture pour des interfaces distribuées : ressources, requêtes sans état et liens en font partie.
- Server-Sent EventsLes Server-Sent Events transmettent du texte du serveur au client par HTTP, par exemple sur l’avancement d’une tâche en arrière-plan.
- ETagUn ETag identifie une version de représentation d’une ressource HTTP et permet des lectures ou modifications conditionnelles.
- Cross-Origin Resource SharingCORS contrôle l’accès du navigateur aux réponses d’une autre origine. Il ne remplace ni la connexion ni la vérification des droits de l’API.
- Échange de données informatiséL’EDI transmet des documents métier structurés entre systèmes. Format, profil du partenaire, correspondance des données et réponses doivent être cohérents.
Votre projet avec ASES
Décrivez-nous votre projet. Nous revenons vers vous avec une première évaluation.