GraphQL

Describe your data

type Project {
  name: String
  tagline: String
  contributors: [User]
}

Ask for what you want

{
  project(name: "GraphQL") {
    tagline
  }
}

Get predictable results

{
  "project": {
    "tagline": "A query language for APIs"
  }
}

A query language for your API

GraphQL是API的查询语言,是用于使用现有数据来完成这些查询的运行时. GraphQL为您的API中的数据提供了完整且易于理解的描述,使客户能够准确地询问他们所需的内容,仅此而已,使随着时间的推移更容易开发API,并启用了功能强大的开发人员工具.

Ask for what you need,
get exactly that

将GraphQL查询发送到您的API并获得所需的信息,仅此而已. GraphQL查询始终返回可预测的结果. 使用GraphQL的应用程序快速且稳定,因为它们控制获取的数据而不是服务器.

Get many resources
in a single request

GraphQL查询不仅可以访问一种资源的属性,还可以平滑地遵循它们之间的引用. 虽然典型的REST API需要从多个URL进行加载,但是GraphQL API可以在单个请求中获取应用程序需要的所有数据. 使用GraphQL的应用程序即使在缓慢的移动网络连接下也可以快速运行.

Describe what’s possible
with a type system

GraphQL API按照类型和字段(而不是端点)进行组织. 从单个端点访问数据的全部功能. GraphQL使用类型来确保Apps仅询问可能的情况并提供清晰有用的错误. 应用可以使用类型来避免编写手动解析代码.

Move faster with
powerful developer tools

准确了解可以在不离开编辑器的情况下从API请求的数据,在发送查询之前突出显示潜在的问题,并利用改进的代码智能. GraphQL使您可以利用API的类型系统轻松构建功能强大的工具,例如Graph i QL .

Evolve your API
without versions

在不影响现有查询的情况下,将新字段和类型添加到GraphQL API. 可以不使用老化字段,并且可以从工具中隐藏它们. 通过使用一个不断发展的版本,GraphQL API使应用程序能够连续访问新功能,并鼓励使用更清洁,更可维护的服务器代码.

Bring your own
data and code

GraphQL在整个应用程序中创建统一的API,而不受特定存储引擎的限制. 使用支持多种语言的GraphQL引擎编写利用现有数据和代码的GraphQL API. 您为类型系统中的每个字段提供函数,并且GraphQL以最佳的并发性调用它们.

Who’s using GraphQL?

自2012年以来,Facebook的移动应用程序一直由GraphQL提供支持.GraphQL规范于2015年开源,现已在许多环境中提供,并由各种规模的团队使用.

More GraphQL Users

by  ICOPY.SITE