[英]RESTful API Versioning
我是RESTful API的新手,目前正在開發我的第一個移動應用程序。 我對API版本以及如何管理/解決它們有疑問。
目前,我的API“版本”是我的API類所在的名為v<version_name>
的目錄。 在該目錄中,我有另一個名為include
目錄中的API和REST客戶端所需的資源。 因此,結構如下: example.com/api/v0.2/method_name/
並在.htaccess
,我確保將遵循API版本的所有內容(硬編碼在.htaccess
文件中)保存在查詢字符串中參數)。 我不確定這是否適用於實時應用程序,因為它也需要手動更改客戶端的URL端點。 所以我的問題是:
v0.3
但安裝了該應用程序的客戶端將訪問v0.2
並返回404響應代碼? 編輯:可以說,在api
文件夾本身之外的根include
文件夾中有一些資源。
編輯2:我的API的目標是供移動應用程序使用,並且不公開使用。
雖然我認為這些問題主要是基於觀點的,但我還是可以...
我認為這是一種有效的方法,而且我已經看到其他人使用它,包括Microsoft。
當有必要更新API時,您可以返回404並說明新API位於新地址。 但是,僅退出API版本通常是個壞主意; 您至少必須給客戶開發人員足夠的時間來切換到新的API,然后再淘汰舊的API。
更為優雅的解決方案是將API保留在一個地址,並根據需要進行更新,然后將其添加到該地址,而不是盡可能地替換。 盡可能長時間地支持過時的功能,並就某些方法何時不再有效與客戶開發人員進行公開交流。
我的看法是,隨便做什么吧...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.