Web開發領域的REST運動已經進行了很多年了,在REST的Richardson成熟度模型提出后,第3級——HATEOAS的應用——仍然沒有得到廣泛應用。事實上,其中一個難點在於客戶端如何支持HATEOAS。之前很多REST相關書籍聚焦于如何打造服務端的RESTful API,邁克·阿蒙森著的《RESTful Web Clients(基於超媒體的可復用客戶端)》則著重研究RESTful客戶端,介紹了如何把一個針對服務端規約硬編碼的定製客戶端重構為一個支持HATEOAS的通用客戶端,並提供了多格式支持、超媒體類型、版本化、微服務等相關問題的全面指導。本書附有所有樣例代碼的GitHub地址,方便讀者快速理解和實踐。 本書適合Web應用開發者,尤其適合希望Web應用程序的服務端與客戶端能夠獨立演化的Web架構師。
作者介紹
(美)邁克·阿蒙森|譯者:曾著//徐必濤
邁克·阿蒙森(Mike Amundsen),是一位國際知名的作者和講師,他所提供咨詢和講演的課題包括分散式網路架構、Web應用開發和雲計算。他撰寫了《使用HTML5和Node構建超媒體API》一書,還和Leonard Richardson一起撰寫了《RESTful Web APIs中文版》一書。他最近的工作聚焦在如何讓超媒體發揮作用,以幫助創建和維護與時俱進的應用程序上。
目錄
前言 開場:嗯,那是一次有趣的旅行,不是嗎 Bob、Carol和BigCo公司 第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格式