我創建了一個作爲Web服務公開的應用程序。我正在嘗試遵循REST原則。我正在使用彈簧4.REST API中的版本控制資源
到目前爲止,我所做的是創建我自己的MIME類型application/vnd.mycompany-v1+json
。從訪問Web服務的客戶端,我說我想要哪個版本(目前只有一個)。
但是,這不是我需要做的。我還需要保留不同版本的資源,因爲我可以從一個版本添加/刪除屬性等。解決這個問題的方法是什麼?你是否爲每個版本創建一個包?
com.mycompany.web.resources.v1.Bike
,等?我想這種方法是可行的,但是在這個階段中版本的數量是不知道的,所以它可能是一個大的重複列表。我不知道這是否是一個問題,或者它是否一定是這樣?
我想我不是第一個想到版本化資源的人,所以如何處理?
首先,你所要求的事情可以完成......我記得去年9月,我看到Ben Hale在SpringOne上發表了一個演講。其次,將同一軟件的多個版本保持運行是一個*可怕的想法,因爲你可以很容易地發現不同但代碼完全相似的代碼,它們之間有一些錯誤補丁,但並不是全部。 – Makoto
我建議編輯你的問題,以澄清你正在版本化一個*庫*來訪問你的API,而不是你試圖版本化API本身。 – Charles
@Charles Okey,我將問題變得更加清晰。 – Andreas