2012-01-18 78 views

回答

5

你應該看看這個演示約API設計。它來自Google,非常好。 它還解決了向後兼容性和新版本。

How to Design a Good API and Why it Matters

+0

http://lcsd05.cs.tamu.edu/slides/keynote.pdf <<斷鏈:( – kinar 2016-05-17 19:10:42

+2

,但仍然打破,也許這是一個?http://static.googleusercontent.com/media/research。 google.com/en//pubs/archive/32713.pdf – user180574 2016-07-01 19:32:06

+0

鏈接已損壞 – Salar 2016-11-19 09:51:53

6

都保持運轉,用版的網址。 api.mysite.com/[version]/api/url/here。在API的新版本到達時通知用戶,並在一段時間後刪除舊版本。無論什麼時候不再使用,或者6個月,確保用戶有足夠的時間來改變它。

或保持運行下去,但是沒有爲其提供任何新的功能。

+1

這基本上是我在多個項目中使用的方法。我經常見到的另一種模式是讓'api.example.com /'指向最新版本的API - 注意缺少版本號。不想要最新和最好的客戶端可以免費訪問版本控制的URL - 'api.example.com/v1 /' – Anurag 2012-01-18 09:07:58

+0

有一些討論,如果您在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

+0

謝謝。這些更接近版本化API和部署這些API。我想知道,如果有關於如何公開API的,如果你的數據架構更改會發生什麼情況的任何指引(刪除/修改某些數據類型,其通過公開的API的等) – Sampat 2012-01-18 09:22:43

3

最好的方式做到這一點,以保持在新版本中的新接口和類舊的接口或類以及它們標記爲棄用(指那些將在未來版本中刪除)。

聽API設計師牢記關於公共接口和發佈接口之間的差異。