À ma connaissance, il n'existe pas encore d'outil permettant de générer automatiquement une documentation HTML pour une API GraphQL, mais j'ai trouvé GraphiQL est encore plus utile que toute documentation d'API en HTML que j'ai vue.
GraphiQL vous permet d'explorer de manière interactive le schéma d'un serveur GraphQL et d'exécuter des requêtes contre lui en même temps. Il dispose de la coloration syntaxique, de l'autocomplétion et vous indique même si votre requête est invalide sans l'exécuter.
Si vous recherchez une documentation statique, j'ai trouvé assez pratique de lire le schéma dans le langage de schéma GraphQL. Grâce à une autre grande fonctionnalité de GraphQL - l'introspection de schéma - vous pouvez facilement imprimer le schéma de tout serveur auquel vous avez accès. Il suffit d'exécuter la commande requête d'introspection contre le serveur et ensuite imprimer le schéma d'introspection résultant comme suit (en utilisant graphql-js) :
var graphql = require('graphql');
var introspectionSchema = {}; // paste schema here
console.log(graphql.printSchema(graphql.buildClientSchema(introspectionSchema)));
Le résultat ressemblera à ceci :
# An author
type Author {
id: ID!
# First and last name of the author
name: String
}
# The schema's root query type
type Query {
# Find an author by name (must match exactly)
author(name: String!): Author
}