天天看點

[RESTful web services讀書筆記] 接口設計中維持XML和JSON表述的相容性

分布式的用戶端/伺服器環境中必然涉及到變更管理,如何維護系統的可擴充性和相容性?

問題描述:需求是持續變化的,在通常的接口設計中,如何保證服務端XML和JSON表述的變更與現有的用戶端保持相容

解決方案:保持原有的XMl和JSON資料分層結構整體不發生變化,確定用戶端按照之前的調用方法可以繼續工作

服務端需要把新增的資料元素設計為可選的,以此保持與用戶端的相容性,相對于URI來說,就是URI中添加了新參數時,要繼續服務于現有參數,并将新參數視為可選

不要修改删除原有的響應正文表述的資料域

 PS:

REST架構風格的最主要驅動是分布性和擴充性。RESTful HTTP接口的設計是由網絡因素而非程式設計語言的綁定驅動的

參考:RESTful web services Cookbook 中文版

ps 後記

這篇文章提到了相容性設計的重點,對原有設計的擴充和維護是一件很困難的事,因為原有系統還在運作,是以你隻能做擴充,不能做改造,改造的風險巨大且未知

這樣一來代碼結構,資料庫設計,等都會出現混亂和複雜。比如代碼風格不統一,随意的增加和補充,資料庫字段備援,很多字段不知道是否在實際業務中還在使用,是否在維護

2013-02-02 補充