在日常移動端開發中,隨著業務需求的不斷變化,我們的介面返回的資料就會有各種變動,但由於native語言開發的應用無法動態更新api,在修改介面返回資料改變介面邏輯的同時還要確保舊版本的相容,因此就用到了接下來要說的api版本控制。
restful架構
restful全稱representational state transfer,其架構特性為
1. 每個url代表某種資源
2. 資源通過特定的形式展現例如json
3. 使用http協議的get、post、delete、put等操作伺服器資源
想要具體了解參考理解restful架構
版本控制方式
強制使用統一api版本
整個專案使用乙個api版本,不考慮相容性,缺點
uri中顯式新增版本號
把版本號嵌入到api中,例如developer.github.com/v3/media/,
訪問操作對應版本號下的資源。這種顯示的表示版本號的好處是可以很直觀的
展示當前api版本號。缺點是違背restful架構的原則,理論上乙個uri對應服
務器乙個特定的資源,新增版本號則會混淆版本和資源的概念,而且會讓整個
架構變得混亂,增加日後維護的成本。 還有一種是把版本號作為引數請求api
獲取操作對應版本號的資源,例如www.demo.com/list?version=2。
新增頭資訊控制版本
總結
通過上述簡單的分析,每種版本控制都有不同的優缺點,我們可以選擇合適自己的版本控制方式,個人認為小版本的更新可通過把版本號作為引數的方式或者通過accept欄位標示版本號的方式判斷,大的版本更新則通過url上新增版本號控制
api versioningmedia types
versioning with rest framework
什麼RESTful風格API
一 url 設計 1.1 動詞 賓語 restful 的核心思想就是,客戶端發出的資料操作指令都是 動詞 賓語 的結構。比如,get articles這個命令,get是動詞,articles是賓語。動詞通常就是五種 http 方法,對應 crud 操作。get 讀取 read post 新建 cre...
restful風格API簡述
3 springboot簡述 rest是representational state transfer的縮寫 維基百科上的表達是可重新表達的狀態 rest是設計風格不是標準,按照這個風格設計出的api就叫restful api 1 資源 資源這個詞在rest中是被省略的主語資源本身是乙個具體的資訊,...
服務API設計 之 API版本規範
正式發布的api包必須是release版本 eg.cn.gov.zcy.paas.template template api 2.1.1.release 使用 semantic versioning 風格 version號由 major.minor.patch 三段組合構成,version號增加含義...