类似推荐
编辑推荐
通过这本实用指南,你将可以学习到如何设计可用的,并能随着时间不断进化的REST API。
内容简介
本书是针对RESTful API的实用指南,通过展示各种用来创建高可用应用的强大工具,讲解REST的深层原理,以及介绍基于超媒体API的策略,使读者得以在将上述内容融会贯通后,设计出让客户高度满意的RESTful的web API。本书极具权威性与前瞻性,既代表了API领域的最前沿趋势,也覆盖了API领域的最重要实践。
作者简介
作者Leonard Richardson,《Ruby Cookbook》 (O’Reilly)一书的作者,曾创建了包括Beautiful Soup在内的多个开源代码库。
章节目录
版权信息
O’Reilly Media, Inc.介绍
推荐序
对《RESTful Web APIs》一书的赞誉
序
前言
重复的工作
超媒体很难
这本书讲了什么?
这本书没讲什么
管理备注
理解标准
个人标准
公司标准
开放标准
本书所使用的约定
使用代码示例
联系我们
致谢
第1章 网上冲浪
场景1: 广告牌
场景2: 主页
场景3: 链接
场景4: 表单和重定向
与众不同的Web
Web API 落后于Web
语义挑战
第2章 一个简单的API
HTTP GET: 安全的投注
如何读取HTTP响应
JSON
Collection+JSON
向API写入数据
HTTP POST:资源是如何生成的
由约束带来解放
应用语义所产生的语义鸿沟
第3章 资源和表述
万物皆可为资源
表述描述资源状态
往来穿梭的表述
HTTP协议语义(Protocol Semantics)
应该使用哪些方法?
第4章 超媒体
将HTML作为超媒体格式
URI模板
URI vs URL
Link报头
超媒体的作用
当心冒牌的超媒体!
语义挑战: 我们该怎么做?
第5章 领域特定设计
Maze+XML是如何工作的
迷宫集合
Maze+XML是API吗?
客户端1: 游戏
Maze+XML服务器
客户端2: 地图生成器
客户端做自己想要做的事
地图生成器的缺陷
迷宫的暗喻
解决语义鸿沟
领域特定设计在哪里?
如果找不到相关的领域特定设计,不要自己制造
API客户端的种类
第6章 集合模式(CoIIection Pattern)
什么是集合?
Collection+JSON
一个(通用的)集合是如何工作的
Atom发布协议(AtomPub)
语义挑战: 我们应该怎么做?
第7章 纯-超媒体设计
为什么是HTML?
HTML的能力
微格式
hMaze微格式
微数据
改变资源状态
与超媒体相对是普通媒体
HTML的局限性
超文本应用语言
Siren
语义挑战: 我们现在要怎么做?
第8章 ProfiIe
客户端如何找寻文档?
什么是Profile?
链接到Profile
Profile对协议语义的描述
Profile对应用语义的描述
XMDP: 首个机器可读的Profile格式
ALPS
JSON-LD
内嵌的文档
总结
第9章 API设计流程
两个步骤的设计流程
七步骤设计流程
实例: You Type It, We Post It
设计建议
为现有API添加超媒体
Alice的第二次探险
第10章 超媒体动物园
领域特定格式
集合模式的格式
纯超媒体格式
GeoJSON: 一个令人困惑的类型
语义动物园
第11章 API中的HTTP
新HTTP/1.1规范
响应码
报头
表述选择
HTTP性能
避免更新丢失问题
认证
HTTP扩展
HTTP 2.0
第12章 资源描述和Linked Data
RDF
什么时候使用描述策略
资源类型
RDF Schema
Linked Data运动
JSON-LD
Hydra
XRD家族
本体动物园(Ontology Zoo)
第13章 CoAP:嵌入式系统的REST
CoAP请求
CoAP响应
消息种类
延迟响应(Delayed Response)
多播消息(Multicast Message)
CoRE Link Format
结论: 非HTTP协议的REST
附录A 状态法典
问题细节文档
状态码家族
四个状态码: 最低限度
1xx: Informational
2xx: Successful
3xx: Redirection
4xx: Client-Side Error
5xx: Server-Side Error
附录B HTTP报头法典
自定义HTTP报头
报头
附录C 为API设计者准备的FieIding论文导读
Web的架构属性
接口约束
架构约束
结论
词汇表
索引
RESTful Web APIs中文版是2014年由电子工业出版社出版,作者LeonardRichardson。
得书感谢您对《RESTful Web APIs中文版》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。