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