概述
下面是一些帮助您启动和运行 GraphQL API 的快速链接:
-
[Authentication](/graphql/guides/forming-calls-with-graphql#authenticating-with-graphql) -
[根终结点](/graphql/guides/forming-calls-with-graphql#the-graphql-endpoint) -
[架构自省](/graphql/guides/introduction-to-graphql#discovering-the-graphql-api) -
[速率限制](/graphql/overview/resource-limitations) - 从 REST 迁移
若要详细了解 GitHub 的 API,请参阅“比较GitHub的 REST API 和 GraphQL API”。
关于 GraphQL
[GraphQL](https://graphql.org/) 数据查询语言是:
* ** 规范。** 该规范确定 API 服务器上的 schema的有效性。 架构可确定客户端调用的有效性。
-
** [强类型化](#about-the-graphql-schema-reference)。** 架构可定义 API 的类型系统和所有对象关系。 -
** [自省](/graphql/guides/introduction-to-graphql#discovering-the-graphql-api)。** 客户端可查询架构,了解关于架构的详细信息。 -
** [Hierarchical](/graphql/guides/forming-calls-with-graphql).** GraphQL 调用的形式可反映它返回的 JSON 数据的形式。 [嵌套字段](/graphql/guides/migrating-from-rest-to-graphql#example-nesting)允许你在一次往返请求中仅查询并获取指定的数据。 -
**应用程序层。** GraphQL 不是存储模型或数据库查询语言。 _graph_是指架构中定义的图形结构,其中[nodes](/graphql/guides/introduction-to-graphql#node)定义对象和[edges](/graphql/guides/introduction-to-graphql#edge)定义对象之间的关系。 API 可以根据架构定义遍历和返回应用数据,与数据的存储方式无关。
为何GitHub使用 GraphQL
GitHub选择了 GraphQL,因为它为集成商提供了更大的灵活性。 能够精确定义你需要的数据—,并且_仅_获取你需要的数据—,相比传统的 REST API 终结点具有显著优势。 GraphQL 可用于将多个 REST 请求替换为单个调用,以获取指定的数据。
有关 GitHub 对 GraphQL 的投资的更多详情,请参阅原始 announcement 博客文章。
关于 GraphQL 架构引用
边栏中的文档是从 GitHub GraphQL 架构生成的。 所有调用均根据架构验证和执行。 使用这些文档查找您可以调用的数据:
有关身份验证和速率限制详细信息等其他信息,请查看 guides。
请求支持
有关 GitHub Apps、OAuth apps 和 API 开发的问题、漏洞报告和讨论,请访问 GitHub 社区讨论中的 API 和 Webhook 类别。 讨论由 GitHub 工作人员审查和维护,由 GitHub 社区回答。
请考虑使用联系人表单直接联系 GitHub 支持:
- GitHub 工作人员保证响应
- 涉及敏感数据或私人问题的支持请求
- 功能请求
- 关于 GitHub 产品的反馈
如果观察到意外故障,可以使用 githubstatus.com 或GitHub 状态 API 来检查影响 API 的事件。