提到web API,大部分开发者会想到REST.发送请求到一个特定请求的URL,然后会收到结果,就像是HTML,XML,JSON,等应用可以理解的任何格式.Facebook的API系统中,提供了一种新的定义API的方式——GraphQL.开发人员使用强类型查询语言来定义请求和响应,这可以让一个应用精确地指定它需要从API中获取哪些数据.因此GraphQL的目的是提供一个更高效,更结构化,更系统的方式来替代REST.本文我们会展示GraphQL与REST的不同之处,这些不同是如何影响API设计的,以及在从服务器获取数据方面GraphQL为什么是比REST更好的选择.