api blueprint或Apiary.io是否支持版本化API的概念?特別是,我的版本通過URI我的API是這樣的:Apiary.io和/或API Blueprint是否支持api版本控制?
GET /api/v2/SomeResource/
在上面的例子中,這意味着我在調用API的第2版(「V2」)。 api藍圖是否支持這個?如何記錄給定操作的多個版本或整個API?
api blueprint或Apiary.io是否支持版本化API的概念?特別是,我的版本通過URI我的API是這樣的:Apiary.io和/或API Blueprint是否支持api版本控制?
GET /api/v2/SomeResource/
在上面的例子中,這意味着我在調用API的第2版(「V2」)。 api藍圖是否支持這個?如何記錄給定操作的多個版本或整個API?
您可以使用HOST
頭,以表示:
HOST: http://example.com/api/v2
是要前綴所有資源與/api/v2
。
在API藍圖中,如果使用URL前綴,則API被認爲是不同的,因此應該爲它們使用不同的藍圖。
如果您使用具有版本後綴的媒體類型來做到這一點,那麼您可以在標頭中指定正確的Content-Type
,並且它們將在模擬服務器中用於內容協商。
好的,所以在Apiary中沒有任何特別的URL版本控制支持此時。很公平。 – jakejgordon
@jakejgordon「特殊支持」將如何? – Almad
不確定 - 可能通過UI啓動新版本的API,選擇新的版本號,然後只添加新的/更改的操作到新的藍圖。懷疑這可能只能通過API藍圖文件驅動 - 可能需要在Apiary中額外的元數據。 – jakejgordon
還有什麼值得檢查mnot關於版本控制的文章https://www.mnot.net/blog/2011/10/25/web_api_versioning_smackdown – Zdenek