目录 前言 1 第1 章 什么是API 9 为什么我们需要API 10 谁是我们的用户 10 API 的商业案例 11 内部***优先使用,外部***次之的API 12 外部***优先使用,内部***次之的API 13 作为产品的API 14 如何让API 更出色 15 小结 16 第2 章 API 范式 17 请求?C 响应式API 17 表现层状态转换REST 18 远程过程调用RPC 21 GraphQL 22 事件驱动式API 28 WebHooks 28 WebSocket 31 HTTP Streaming 32 小结 34 第3 章 API ** 37 身份认证和授权 37 OAuth 39 令牌生成 40 权限范围 42 令牌和权限范围验证 44 令牌过期和令牌刷新 46 展示和撤销授权 47 OAuth 实践 48 WebHooks ** 52 令牌验证 52 请求签名和WebHooks 签名 53 双向传输层** 54 精简负载和API 获取 55 WebHooks **实践 55 小结 56 第4 章 设计实践 57 基于真实用例而设计 57 设计出色的***体验 58 使API 能快速而轻松地入门 59 保持一致性60 简化故障排除过程 62 让你的API 可扩展 66 小结 69 第5 章 设计实践 71 场景1 72 定义业务目标 72 概述关��用例 74 选择技术架构 75 编写API 规范 78 场景2 83 定义问题 83 概述关键用例 84 选择技术架构 84 编写API 规范 85 验证你的决定 88 小结 90 第6 章 扩展API 91 扩展吞吐量 92 找到瓶颈 93 添加计算资源 95 数据库索引96 高速缓存 97 异步执行昂贵的操作 99 优化API 设计100 介绍新的数据访问模式 100 添加新的API 方法 102 支持批量端点 105 添加可以筛选结果的新选项 105 API 分页 107 基于偏移量的分页 107 基于游标的分页 109 API 分页的实践和技巧 112 API 速率限制 112 什么是速率限制 113 实现策略 115 固定窗口计数器算法 117 速率限制与*** 120 速率限制实践和技巧 122 ***SDK 124 速率限制支持 124 分页支持 125 使用gzip 125 缓存常用数据 125 错误处理和指数后退 125 ***SDK 的实践和技巧 126 小结 126 第7 章 管理更新 129 向上一致性 130 自动化测试 133 向下兼容性 139 计划和沟通更新 141 沟通计划 141 添加 143 删除 144 小结 154 第8 章 构建***生态系统 155 ***,***,*** 156 业余爱好者157 黑客 157 以业务为**、技术精湛的用户 157 专业***158 更多受众 158 构建***关系策略 159 ***细分159 市场规模和地域分布 161 提炼价值主张 163 定义***漏斗 164 映射当前状态和未来状态 167 策略概述 168 推导测量 172 小结 173 第9 章 ***资源 175 API 文档 175 入门指南 176 参考文档 178 教程 179 常见问题 180 登录页面 181 更新日志 182 服务条款 184 代码示例和代码片段 185 代码示例 185 代码片段 186 软件开发套件和框架 187 软件开发工具包(SDK) 188 框架 189 开发工具 191 调试和故障排除 191 沙箱和API 测试人员 191 富媒体 192 视频 192 答疑时间 193 网络研讨会和在线培训 194 社区贡献 194 小结 196 第10 章 ***计划 197 定义***计划 197 广度和深度分析 197 深度***计划 199 合作伙伴计划 199 Beta 计划 201 设计冲刺 203 广度***计划 204 聚会和社区活动 205 黑客马拉松206 在活动及活动赞助中发言 207 培训师和大使计划 207 在线视频和流媒体 208 支持、论坛和Stack Overflow 209 信用计划 209 测量***计划 210 小结 211 第11 章 总结 213 附录 API 设计工作表 215 作者介绍 221 封面介绍 221