RESTFUL WEB CLIENTS:基于超媒體的可復用客戶端 版權信息
- ISBN:9787121337581
- 條形碼:9787121337581 ; 978-7-121-33758-1
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
RESTFUL WEB CLIENTS:基于超媒體的可復用客戶端 本書特色
Web開發領域的REST運動已經進行了很多年了,在REST的Richardson成熟度模型提出后,第3級——HATEOAS的應用——仍然沒有得到廣泛應用。事實上,其中一個難點在于客戶端如何支持HATEOAS。之前很多REST相關書籍聚焦于如何打造服務端的RESTful API,本書則著重研究RESTful客戶端,介紹了如何把一個針對服務端規約硬編碼的定制客戶端重構為一個支持HATEOAS的通用客戶端,并提供了多格式支持、超媒體類型、版本化、微服務等相關問題的全面指導。本書附有所有樣例代碼的GitHub地址,方便讀者快速理解和實踐。本書適合Web應用開發者,尤其適合希望Web應用程序的服務端與客戶端能夠獨立演化的Web架構師。
RESTFUL WEB CLIENTS:基于超媒體的可復用客戶端 內容簡介
Web開發領域的REST運動已經進行了很多年了,在REST的Richardson成熟度模型提出后,第3級――HATEOAS的應用――仍然沒有得到廣泛應用。事實上,其中一個難點在于客戶端如何支持HATEOAS。之前很多REST相關書籍聚焦于如何打造服務端的RESTful API,本書則著重研究RESTful客戶端,介紹了如何把一個針對服務端規約硬編碼的定制客戶端重構為一個支持HATEOAS的通用客戶端,并提供了多格式支持、超媒體類型、版本化、微服務等相關問題的全面指導。本書附有所有樣例代碼的GitHub地址,方便讀者快速理解和實踐。本書適合Web應用開發者,尤其適合希望Web應用程序的服務端與客戶端能夠獨立演化的Web架構師。
RESTFUL WEB CLIENTS:基于超媒體的可復用客戶端 目錄
前言 xx
開場:嗯,那是一次有趣的旅行,不是嗎 xxviii
Bob、Carol 和BigCo 公司 xxx
第1 章 從HTML 到簡單Web API 1
任務處理系統(TPS)Web 應用 4
來自服務器的HTML 5
將通用Web 瀏覽器作為客戶端 9
評價 9
Task 服務Web API 10
Web API 的常規實踐 10
設計TPS Web API 11
實現TPS Web API18
評價 24
總結 25
參考資料 26
第2 章 JSON 客戶端 29
JSON Web API 客戶端 30
Objects 31
Addresses 34
Actions 35
小結 38
JSON 單頁面客戶端38
HTML 容器 38
頂層解析循環 40
Objects、Addresses 和Actions 41
小結 47
應對變化 47
添加字段和過濾器 48
編寫一個新客戶端 52
總結 54
參考資料 57
第3 章 表述器模式 59
XML 還是JSON :選一個吧62
新的分支:超媒體格式 63
“唯一正確”的謬誤 65
重建(reframe)問題 66
表述器(Representor)模式 68
從功能中分離格式 69
選擇算法 69
適配和翻譯 71
服務端模型 74
處理HTTP Accept 頭部參數 74
實現消息翻譯器模式 74
通用表述器模塊 76
WeSTL 格式 76
表述器的范例 81
總結 84
參考資料 86
第4 章 HAL 客戶端 89
HAL 格式 91
Links 93
Objects 和Properties 94
內嵌Links 和Objects 95
小結 97
HAL 表述器 97
Links 98
Properties 99
內嵌內容 100
HAL 表述器構建TPS 輸出示例 102
HAL SPA 客戶端 104
HTML 容器 105
頂層解析循環 106
Links 107
內嵌內容 109
Properties 113
為HAL 處理Action 114
小結 116
應對變化 117
添加ACTION 117
HAL-FORMS 擴展 121
規范 121
請求HAL-FORMS 文檔 123
實現 124
總結 125
參考資料 128
第5 章 可重用客戶端應用的挑戰 131
你在解決什么問題 133
設計的雙鉆石模型 134
閉合方案 vs 開放方案 134
交互建模 136
Maldonado 的機制 137
Verplank 的人類視角 139
超媒體交互循環 141
RPW 循環 141
用代碼實現RPW 143
處理Verplank 的KNOW 步驟 144
總結 148
參考資料 150
第6 章 Siren 客戶端 153
Siren 格式 155
Entities 157
Class 158
Properties 158
Links 159
Actions 159
SubEntities 160
小結 162
Siren 表述器 162
頂層循環 163
Class 164
Properties 164
Entities 165
Actions 166
Links 168
TPS 通過Siren 表述器輸出示例 169
Siren SPA 客戶端 172
HTML 容器 173
頂層解析循環 173
Links 174
Entities 176
Properties 178
Actions 181
小結 184
應對變化 184
添加郵箱字段和過濾器 185
測試郵箱字段 187
Profile 對象描述(POD)擴展 190
POD 規范 191
實現 192
在Siren 中使用POD 展示對象 194
小結 195
總結 196
參考資料 198
第7 章 版本化與Web 199
互聯網中的版本化 201
TCP/IP 的健壯性原則 202
HTTP 中的MUST IGNORE 203
HTML 的向后兼容性 205
非破壞性變更指南 206
API 設計者 206
服務端實現者 209
客戶端實現者 215
總結 223
參考資料 225
第8 章 Collection JSON 客戶端 227
Collection JSON 格式 229
Links 232
Items 233
Queries 234
Template 235
Error 237
小結 237
xviii | 目錄
Collection JSON 表述器 238
頂層處理循環 238
Links 239
Items 240
Queries 243
Template 244
Error 245
Collection JSON SPA 客戶端 246
HTML 容器 246
頂層解析循環 248
Links 249
Items 250
Queries 253
Template 255
Error 257
小結 258
處理變更 258
在TPS API 中添加Note 對象 259
Cj 和OAA 挑戰 265
小結 266
擴展Collection JSON 266
用Cj-Types 支持改善的輸入 267
Cj-Suggest 擴展 271
小結 275
總結 275
參考資料 279
第9 章 超媒體與微服務 281
UNIX 哲學 284
BigCo 的TPS 微服務 285
Task 服務與Collection JSON 286
User 服務與Siren 290
Note 服務與HAL 293
一個客戶端,統領全局 296
Home 服務 297
多格式客戶端SPA 容器 298
可以切換格式的客戶端UI 301
總結 308
參考資料 312
結語:擁抱你的未來 313
附錄A 項目清單 315
附錄B 工具與資源 319
展開全部
RESTFUL WEB CLIENTS:基于超媒體的可復用客戶端 作者簡介
作為國際知名的作家和演說家,Mike Amundsen在全球各地咨詢和研討網絡架構、Web開發和其他議題。而作為CA Technologies API學院的架構總監,他與公司致力于提供Web API方面的洞見,以便可以最大限度地利用面向消費者和企業的Web API的機會。
曾著,畢業于北京大學,互愛(北京)科技股份有限公司技術副總裁。徐必濤,霓風網絡科技有限公司軟件架構師,曾任ThoughtWorks高級軟件工程師、DevOps咨詢師。