API GraphQL
GraphQL est un langage de requête pour les API. Vous pouvez l'utiliser pour demander exactement les données dont vous avez besoin, et donc limiter le nombre de requêtes dont vous avez besoin.
Les données GraphQL sont organisées en types, de sorte que votre client peut utiliser des bibliothèques GraphQL côté client pour consommer l'API et éviter l'analyse manuelle.
L'API GraphQL est sans version.
Accéder à GraphIQL
Le moyen le plus simple d'utiliser l'API GraphQL est via GraphIQL
en utilisant les étapes suivantes.
- Connectez-vous à IRIDA Next
http://my.irida.server/users/sign_in
- Allez à l'URL GraphIQL
http://my.irida.server/graphiql
Vous serez accueilli avec l'outil intégré au navigateur pour écrire, valider et tester des requêtes GraphQL.
Pour plus d'informations sur GraphIQL, consultez la documentation officielle
Exemples GraphQL
Exemple | Requête | Réponse |
Obtenir l'utilisateur actuel |
|
|
Obtenir les échantillons |
|
|
Obtenir les détails d'un échantillon spécifique |
|
|
Authentification avec les jetons d'accès personnels
Pour utiliser l'API GraphQL avec l'un des clients GraphQL, vous devrez générer un jeton d'accès personnel.
Naviguer vers l'écran Jetons d'accès
Une fois que vous êtes connecté à IRIDA Next, suivez ces étapes.
- Dans la barre supérieure de la barre latérale gauche, sélectionnez l'Icône de profil à côté du signe plus
- Dans les options du menu déroulant, sélectionnez Modifier le profil
- Dans la barre latérale gauche, sélectionnez Jetons d'accès
Cette page vous permet d'ajouter de nouveaux jetons d'accès personnels et de voir/retirer les jetons existants.
Portées de jeton
Il existe 2 portées pour votre jeton d'accès, api
et read_api
Si vos requêtes GraphQL ne feront que lire des données et ne feront aucun changement, sélectionnez read_api
.
Si vos requêtes GraphQL modifieront des données ou téléverseront de nouvelles données, sélectionnez api
.
Générer un jeton
Lorsque Créer un jeton d'accès personnel
est cliqué, un jeton secret sera généré pour vous. Celui-ci sera utilisé pour authentifier vos requêtes API GraphQL.
Il est important que vous ne partagiez pas ce jeton avec quelqu'un d'autre car il est directement lié à votre compte.
Utilisation du jeton pour l'authentification sans session
Les jetons générés par IRIDA Next sont des jetons d'Authentification de base
. Ils sont liés à votre courriel.
Cela utilise l'authentification HTTP de base, sous la forme de $USEREMAIL:$ACCESSTOKEN qui est encodé en Base64.
par ex. user0@email.com:yK1euURqVRtQ1D-3uKsW
devient dXNlcjBAZW1haWwuY29tOnlLMWV1VVJxVlJ0UTFELTN1S3NX
Qui serait utilisé comme suit :
par ex. Authorization: Basic YWRtaW5AZW1haWwuY29tOnlLMWV1VVJxVlJ0UTFELTN1S3NX
Vous pouvez tester votre jeton en effectuant l'encodage et en exécutant la commande curl
suivante.
curl "http://localhost:3000/api/graphql" --header "Authorization: Basic <votre jeton ici>" --header "Content-Type: application/json" --request POST --data "{\"query\": \"query {currentUser{email}}}\"}"
réponse
{ "data": { "currentUser": { "email": "user0@email.com" } } }