通過REST,我們可以使用Swagger,RAML或其他技術來記錄我們的API並生成一個HTML文檔,供消費者閱讀,而無需與服務器進行交互。記錄一個GraphQL API
是否有類似於GraphQL的東西存在?有什麼方法可以生成資源和屬性的文檔?
通過REST,我們可以使用Swagger,RAML或其他技術來記錄我們的API並生成一個HTML文檔,供消費者閱讀,而無需與服務器進行交互。記錄一個GraphQL API
是否有類似於GraphQL的東西存在?有什麼方法可以生成資源和屬性的文檔?
它看起來像有現在https://www.npmjs.com/package/graphql-docs
動態生成的GraphQL模式文檔資源管理器。它旨在提供一個比GraphiQL更好的架構概覽,但不查詢功能。
您也可以基於模式文件或GraphQL端點的靜態文檔文件:
npm install -g graphql-docs
graphql-docs-gen http://GRAPHQL_ENDPOINT documentation.html
據我所知,目前還沒有工具可以自動生成GraphQL API的HTML文檔,但我發現GraphiQL比我見過的任何HTML文檔都更有用。
GraphiQL讓您以交互方式探索GraphQL服務器的模式並同時對其運行查詢。它具有語法高亮,自動完成功能,它甚至可以告訴你什麼時候你的查詢無效而不執行它。
如果您正在尋找靜態文檔,我發現使用GraphQL模式語言讀取模式非常方便。由於GraphQL的另一個強大功能 - 模式自省 - 您可以輕鬆地打印任何您有權訪問的服務器的模式。只需運行introspection query對服務器,然後打印生成的反省模式,像這樣(使用graphql-JS):
var graphql = require('graphql');
var introspectionSchema = {}; // paste schema here
console.log(graphql.printSchema(graphql.buildClientSchema(introspectionSchema)));
結果會是這個樣子:
# 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
}
謝謝,helfer。 使用API作爲文檔的警告是,有時開發人員在訪問之前需要它。例如:決定購買一些API服務時。 你提供了一個很好的選擇,這個警告。感謝您的有用答案。如果沒有更好的來,我會稍微等一下,並將其標記爲已接受。 –