在設計確保向後兼容性和新版本發佈的API時,有什麼最佳實踐需要記住。任何鏈接到文章/博客表示讚賞。確保向後兼容性的API設計
回答
你應該看看這個演示約API設計。它來自Google,非常好。 它還解決了向後兼容性和新版本。
都保持運轉,用版的網址。 api.mysite.com/[version]/api/url/here
。在API的新版本到達時通知用戶,並在一段時間後刪除舊版本。無論什麼時候不再使用,或者6個月,確保用戶有足夠的時間來改變它。
或保持運行下去,但是沒有爲其提供任何新的功能。
這基本上是我在多個項目中使用的方法。我經常見到的另一種模式是讓'api.example.com /'指向最新版本的API - 注意缺少版本號。不想要最新和最好的客戶端可以免費訪問版本控制的URL - 'api.example.com/v1 /' – Anurag 2012-01-18 09:07:58
有一些討論,如果您在url方案中包含版本控制,是否仍然可以將其稱爲REST api 。請參閱http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven或http://thereisnorightway.blogspot.com/2011/02/versioning-and-types-in-resthttp -api.html – 2012-01-18 09:18:16
謝謝。這些更接近版本化API和部署這些API。我想知道,如果有關於如何公開API的,如果你的數據架構更改會發生什麼情況的任何指引(刪除/修改某些數據類型,其通過公開的API的等) – Sampat 2012-01-18 09:22:43
最好的方式做到這一點,以保持在新版本中的新接口和類舊的接口或類以及它們標記爲棄用(指那些將在未來版本中刪除)。
聽API設計師牢記關於公共接口和發佈接口之間的差異。
- 1. 向後兼容性材質設計
- 2. 如何確保URL重寫後的向後兼容性?
- 3. 爲了支持向後兼容性,明確設計了哪些Java設計?
- 4. 正確的向後兼容性,java.lang.VerifyError
- 5. aspnet-api-versioning - 向後兼容性
- 6. Android地圖API v2向後兼容性
- 7. Android:如何保持向後兼容性?
- 8. CUDA計算能力向後兼容性
- 9. 確保動態加載類型的向後兼容性
- 10. C#的向後兼容性
- 11. .net 4向後兼容性
- 12. XSD向後兼容性
- 13. Silverlight 5向後兼容性
- 14. 向後兼容性play-1.2.3
- 15. WP7.1向後兼容性
- 16. pandas.DataFrame.to_pickle向後兼容性
- 17. UWP MediaPlayerElement向後兼容性
- 18. 向後兼容性dll
- 19. GCC向後兼容性
- 20. Xcode向後兼容性
- 21. Visual Studio向後兼容性
- 22. visual studio向後兼容性
- 23. 設計iphone應用向後兼容性 - 屏幕尺寸
- 24. 我是否需要爲向後兼容性設計節標籤?
- 25. 材料設計,AppCompat和向後兼容性
- 26. 設計EWGI兼容性
- 27. 向後兼容C#/ .NET API的工具?
- 28. 二進制兼容性vs向後兼容性
- 29. StructureMap 2.6.1的向後兼容性問題
- 30. 對Caches目錄的向後兼容性
http://lcsd05.cs.tamu.edu/slides/keynote.pdf <<斷鏈:( – kinar 2016-05-17 19:10:42
,但仍然打破,也許這是一個?http://static.googleusercontent.com/media/research。 google.com/en//pubs/archive/32713.pdf – user180574 2016-07-01 19:32:06
鏈接已損壞 – Salar 2016-11-19 09:51:53