内容简介
第1章 从HTML到简单Web API
任务处理系统(TPS)Web应用
来自服务器的HTML
将通用Web浏览器作为客户端
评价
Task服务Web API
Web API的常规实践
设计TPS Web API
实现TPS Web API
评价
总结
参考资料
第2章 JSON客户端
JSON Web API客户端
Objects
Addresses
Actions
小结
JSON单页面客户端
HTML容器
顶层解析循环
Objects、Addresses和Actions
小结
应对变化
添加字段和过滤器
编写一个新客户端
总结
参考资料
第3章 表述器模式
XML还是JSON:选一个吧
新的分支:超媒体格式
“唯一正确”的谬误
重建(reframe)问题
表述器(Representor)模式
从功能中分离格式
选择算法
适配和翻译
服务端模型
处理HTTP Accept头部参数
实现消息翻译器模式
通用表述器模块
WeSTL格式
表述器的范例
总结
参考资料
第4章 HAL客户端
HAL格式
Links
Objects和Properties
内嵌Links和Objects
小结
HAL表述器
Links
Properties
内嵌内容
HAL表述器构建TPS输出示例
HAL SPA客户端
HTML容器
顶层解析循环
Links
内嵌内容
Properties
为HAL处理Action
小结
应对变化
添加ACTION
HAL-FORMS扩展
规范
请求HAL-FORMS文档
实现
总结
参考资料
第5章 可重用客户端应用的挑战
你在解决什么问题
设计的双钻石模型
闭合方案vs.开放方案
交互建模
Maldonado的机制
Verplank的人类视角
超媒体交互循环
RPW循环
用代码实现RPW
处理Verplank的KNOW步骤
总结
参考资料
第6章 Siren客户端
Siren格式
Entities
Class
Properties
Links
Actions
SubEntities
小结
Siren表述器
顶层循环
Class
Properties
Entities
Actions
Links
TPS通过Siren表述器输出示例
Siren SPA客户端
HTML容器
顶层解析循环
Links
Entities
Properties
Actions
小结
应对变化
添加邮箱字段和过滤器
测试邮箱字段
Profile对象描述(POD)扩展
POD规范
实现
在Siren中使用POD展示对象
小结
总结
参考资料
第7章 版本化与Web
互联网中的版本化
TCP/IP的健壮性原则
HTTP中的MUST IGNORE
HTML的向后兼容性
非破坏性变更指南
API设计者
服务端实现者
客户端实现者
总结
参考资料
第8章 Collection+JSON客户端
Collection+JSON格式
Links
Items
Queries
Template
Error
小结
Collection+JSON表述器
顶层处理循环
Links
Items
Queries
Template
Error
Collection+JSON SPA客户端
HTML容器
顶层解析循环
Links
Items
Queries
Template
Error
小结
处理变更
在TPS API中添加Note对象
Cj和OAA挑战
小结
扩展Collection+JSON
用Cj-Types支持改善的输入
Cj-Suggest扩展
小结
总结
参考资料
第9章 超媒体与微服务
UNIX哲学
BigCo的TPS微服务
Task服务与Collection+JSON
User服务与Siren
Note服务与HAL
一个客户端,统领全局
Home服务
多格式客户端SPA容器
可以切换格式的客户端UI
总结
参考资料
结语:拥抱你的未来
附录A 项目清单
附录B 工具与资源