GraphQL实战:写给全栈工程师们
上QQ阅读APP看书,第一时间看更新

第2章 GraphQL初体验——电商API设计

导读:本章主要解决的问题

如何用GraphQL设计API?

如何使用GraphQL来和服务器端互动(查询语法)?

GraphQL好用的语法以及这些好用的语法能给我们带来什么好处?

作为一项新技术,GraphQL为什么能很快在Facebook内部得到广泛认可,并且获得Twitter和GitHub等重量级外部使用者呢?这还是要从这项技术本身找原因。与其罗列GraphQL的技术细节,不如亲自动手做几个实际的项目。接下来从一个简单的迷你电商应用原型谈起。

需求 提供一个电商服务API,核心功能是可以查询多种商品信息。

电商服务API需要解决以下问题:

● 定义和描述有什么样的数据

◎ 数据的类型

◎ 数据的结构

● 定义和描述如何操作这些数据

◎ 如何查询电商服务器端的数据(读)

◎ 如何修改电商服务器端的数据(写)

电商网站(或者叫在线商店——Online Store)是最具代表性的互联网应用之一,很多技术诞生伊始,都喜欢做一个电商应用来演示自己的强大之处,比如说当年的J2EE,.NET,Ruby on Rails,以及最近的Vert.x和Go等,都做了属于自己的类似应用。

这一章主要关注GraphQL API的设计,关于后端数据如何存储以及前端表现层如何整合,将会在后面的章节中不断展开。为什么先来说API设计?因为GraphQL的前后端开发都是基于API的设计。具体来说,就是要先有定义API的Schema,才能开始前后端的开发。而且一旦有了定义API的Schema,前后端的开发就可以分别进行,而无须互相依赖等待。