2010-04-20 54 views
8

我正在爲Web應用程序設計一個REST API。我想清楚地對API進行版本化,以便將來可以更改接口而不會破壞現有服務。因此,在我的v1.0 API中,我想清楚地將其識別爲v1.0 API,這讓我可以自由發佈未來v1.1版本並進行突破性更改。在URI路徑中放置句點是不好的做法嗎?

我的問題是,在URI的路徑組件中的一段時間是不好的做法?

例如。有沒有好的理由不使用http://example.com/myapi/v1.0/services作爲我的服務的URI?

回答

10

把在URI一段時間是完全沒有問題。將一個版本號放在一個URI中絕對不是最佳實踐。

Here是我的原因和here是一個比我更聰明的人關於這個問題的好文章。

+0

再次感謝Darren。通過你的鏈接,Shonzilla回答了這個問題:http://stackoverflow.com/questions/389169/best-practices-for-api-versioning讓我相信版本控制可能是一個壞主意。我所關心的一個問題是,非瀏覽器客戶端一個使用我的服務的PHP網站將處理http重定向,如果我想用這種方法來處理重大更改? – saille 2010-04-20 22:46:37

-1

我認爲這是一個好主意。我見過幾種休息服務。

1

我認爲與其他人不同......我認爲這不是一個很好的做法,使用它的網址。

恕我直言,如果你在Content-Type Header上版本更好。

作爲一個例子,如果要使用的應用程序/ XML:

內容類型:應用/ 1.0 + XML。

使用Content-Type,它也表示資源本身是版本化的。雖然如果你在url上使用它,似乎你正在對服務進行版本控制(似乎並非如此),如果你正在更改服務本身,你可能會更改url,所以你不需要版本數。

編輯:你也應該在Accept Header上使用它,而不僅僅是在Content Type上。

+1

仔細查看問題和答案。大部分答案指的是在Url中使用一段時間,與版本控制無關。我提出了這個問題,但這不是原來的問題。 – 2010-04-20 23:28:35

+0

即使這不是問題,我感謝您的評論 - 這是一個非常好的建議。 – saille 2010-04-21 02:12:03

相關問題