当前位置: 首页 > 知识库问答 >
问题:

记录GraphQL API

汝吕恭
2023-03-14

使用REST,我们可以使用Swagger、RAML或其他技术来记录我们的API,并生成一个HTML文档,我们的消费者可以阅读该文档,而无需与服务器进行任何交互。

GraphQL是否存在类似的情况?是否有任何方法生成资源和属性的文档?

共有3个答案

谭晓博
2023-03-14

我找到了用于记录GraphQL架构的静态页面生成器。GitHub链接。

HTML 导出如下所示。

GitHub GraphQL文档示例

葛奇
2023-03-14

据我所知,目前还没有工具可以为 GraphQL API 自动生成 HTML 文档,但我发现 GraphiQL 比我见过的任何 HTML API 文档都更有用。

GraphiQL允许您交互式地探索GraphQL服务器的模式,并同时对其运行查询。它具有语法高亮显示、自动完成功能,甚至可以在不执行查询的情况下告诉您查询何时无效。

如果您正在寻找静态文档,我发现用GraphQL模式语言阅读模式非常方便。由于GraphQL的另一个强大功能-模式内省-您可以轻松地为您有权访问的任何服务器打印模式。只需对服务器运行内省查询,然后像这样打印生成的内省模式(使用graphqljs):

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
}
柳刚豪
2023-03-14

看起来现在有 https://www.npmjs.com/package/graphql-docs

为GraphQL架构动态生成的留档资源管理器。它旨在提供比GraphiQL更好的架构概述,但没有查询功能。

您还可以基于架构文件或GraphQLendpoint生成静态留档文件:

npm install -g graphql-docs
graphql-docs-gen http://GRAPHQL_ENDPOINT documentation.html
 类似资料:
  • 记录 限制记录 条记录 (每页) 如果你想全局地限制在网格或外键数据选择时每页显示的记录数,可勾选这个选项。否则,所有记录将会显示在一页里。 【注意】若要为特定的表或集合调整设置,请参阅数据查看器。 自动开始事务 如果你需要在更改表或集合中的记录时,自动开始一个新事务,可勾选这个选项。否则,自动提交会自动启用,你需要在数据查看器中点击 “开始事务”按钮来手动开始事务。 在数据查看器中打开事务时,可

  • 记录 限制记录 条记录 (每页) 如果你想全局地限制在网格每页显示的记录数,可勾选这个选项。否则,所有记录将会显示在一页里。 【注意】若要为特定的表或集合调整设置,请参阅数据查看器。 自动开始事务 如果你需要在更改表或集合中的记录时,自动开始一个新事务,可勾选这个选项。否则,自动提交会自动启用,你需要在数据查看器中点击 按钮来手动开始事务。 在数据查看器中打开事务时,可以使用 或 按钮来提交或回滚

  • 记录 限制记录 条记录 (每页) 如果你想全局地限制在网格或外键数据选择时每页显示的记录数,可勾选这个选项。否则,所有记录将会显示在一页里。 【注意】若要为特定的表或集合调整设置,请参阅数据查看器。 自动开始事务 如果你需要在更改表或集合中的记录时,自动开始一个新事务,可勾选这个选项。否则,自动提交会自动启用,你需要在数据查看器中点击 “开始事务”按钮来手动开始事务。 在数据查看器中打开事务时,可

  • 问题内容: 我想在我的应用程序中将slf4j + logback用于两个目的-日志和审计。 对于日志记录,我以常规方式记录日志: 对于审计,我创建一个特殊的命名记录器并登录到它: 登录配置: 问题:通过审核记录器记录的消息出现两次-一次在AUDIT_LOGGER下,一次在根记录器下。 14:41:57.975 [main]调试com.gammay.example.Main–> main() 14:

  • 在创建Web应用程序时,日志记录非常有用,因为它们会告诉我们哪些地方出了问题。 我们还得到了出错的背景,并为此提出了可能的解决方案。 要在Koa中启用日志记录,我们需要中间件koa-logger 。 使用以下命令安装它。 $ npm install --save-dev koa-logger 现在,在您的应用程序中,添加以下代码以启用日志记录。 var logger = require('koa

  • Pascal数组允许您定义可以包含多个相同类型数据项的变量类型,但是记录是Pascal中可用的另一个用户定义数据类型,它允许您组合不同类型的数据项。 记录包含不同的字段。 假设您想要在库中跟踪您的书籍,您可能希望跟踪每本书的以下属性 - Title Author Subject 书名 定义记录 要定义记录类型,可以使用类型声明语句。 记录类型定义为 - type record-name = rec

  • 登录CakePHP是一项非常简单的任务。 你只需要使用一个功能。 您可以记录任何后台进程(如cronjob errors, exceptions, user activities, action taken by users 。 在CakePHP中记录数据很简单 - LogTrait提供了log()函数, LogTrait是几乎所有CakePHP类的共同祖先。 记录配置 我们可以配置登录文件con

  • Erlang有额外的工具来创建记录。 这些记录由字段组成。 例如,您可以定义一个包含2个字段的个人记录,一个是id,另一个是name字段。 在Erlang中,您可以创建此记录的各种实例,以定义具有各种名称和ID的多个人。 让我们探讨如何使用记录。 创建记录 使用记录标识符创建记录。 在此记录标识符中,您指定构成记录的各个字段。 一般语法和示例如下。 语法 (Syntax) record(recor