更新时间:2022-06-17 15:28:26
封面
版权页
前言
导读——本书为快速学习设计
第1章 GraphQL API设计和全栈开发
1.1 什么是GraphQL
1.2 分布式系统
1.2.1 扩展性
1.2.2 可靠性
1.2.3 远程资源共享
1.2.4 更强的处理能力
1.3 C/S架构与API
1.3.1 C/S架构
1.3.2 前端与后端
1.3.3 全栈程序员
1.3.4 应用程序接口
1.4 RESTful API的起源与特点
1.4.1 仓库保管员的窘境
1.4.2 REST无状态的好处
1.4.3 RESTful API是否真的无状态
1.4.4 RESTful API是否是数据传输协议
1.4.5 RESTful API的好处是什么
1.5 RESTful API的主要问题
1.5.1 数据定制的问题
1.5.2 多次请求的问题
1.5.3 异常处理的问题
1.5.4 返回数据格式未知的问题
1.5.5 请求Endpoint和方式过多的问题
1.6 GraphQL如何解决RESTful API的问题
1.6.1 GraphQL可以自由定制数据
1.6.2 GraphQL可以把多次请求合并为一个
1.6.3 GraphQL错误以及异常信息明确
1.6.4 GraphQL返回数据的形式和查询请求同构
1.6.5 GraphQL使用单一的Endpoint
1.6.6 GraphQL替代了什么
1.7 GraphQL引发的疑虑
1.7.1 GraphQL是否还是RESTful
1.7.2 GraphQL增大了后端系统设计的难度
1.7.3 GraphQL是否会带来后端性能问题
1.7.4 迁移到GraphQL的代价
1.7.5 GraphQL是该前端驱动还是后端驱动
1.8 GraphQL全栈框架的选用
1.8.1 Relay
1.8.2 Apollo
第2章 GraphQL初体验——电商API设计
2.1 基本开发环境的搭建
2.2 和GraphQL互动
2.2.1 实时交互界面GraphiQL的使用
2.2.2 通过curl发送请求
2.2.3 使用第三方客户端
2.3 Schema与定义数据类型
2.3.1 强类型的查询语言
2.3.2 服务器端的Schema
2.3.3 标量类型
2.3.4 自定义复杂类型
2.3.5 枚举
2.3.6 列表以及对象的列表
2.4 定义操作
2.4.1 只读查询操作
2.4.2 可写修改操作
2.4.3 订阅操作
2.4.4 传递输入类型
2.4.5 操作也是字段
2.5 精炼数据模型与操作
2.5.1 接口和继承
2.5.2 联合
2.6 精炼查询
2.6.1 使用变量
2.6.2 使用别名
2.6.3 使用片段
2.6.4 类型条件
2.6.5 使用Directive
2.6.6 后端工程师的福音
2.7 简单数据验证
2.7.1 必填值的验证
2.7.2 标量值的验证
第3章 电商网站前端开发
3.1 GraphQL前端开发要点
3.1.1 前端开发的主要任务
3.1.2 前端开发的难点
3.1.3 前端技术的选型
3.2 前端React项目初始化
3.2.1 React特点简介
3.2.2 React整合GraphQL前端系统设计
3.2.3 创建React前端工程
3.2.4 安装Apollo客户端
3.2.5 初始化GraphQL客户端
3.2.6 手动发送查询
3.3 只读数据的React UI组件
3.3.1 构建GraphQL Query查询
3.3.2 定义列表元素组件
3.3.3 定义列表组件
3.3.4 绑定静态查询和UI组件
3.3.5 使用Query组件
3.3.6 从Query组件中接收一个参数
3.3.7 数据的接收以及出错处理
3.3.8 手动刷新
3.4 修改数据的React UI组件
3.4.1 定义一个带有变量的Mutation操作
3.4.2 使用Mutation UI组件