我正在做一個從MS Access到Rails應用程序的單向數據傳輸應用程序。我保持Rails應用程序的安靜,所以我告訴我的同事,Access應用程序需要跟蹤記錄是否已經發送到Rails應用程序,因爲Access應用程序需要Rails應用程序中該記錄的ID來做「更新」。他懷疑這是必要的,因爲,例如,如果Access通過Access應用的人員模型ID向Rails Person模型發送記錄,我們稱之爲AID,因此如果Rails應用「看到」傳入的「:name =>'John Doe',:aid => 123「,並且沒有發現這種Person模型的'AID'等於123,那麼Rails應該創建它,當它找到一個'AID'等於123的Person模型時,更新它。我告訴他,設計是寧靜的,保持兩個不同的電話(一個是帖子,一個是put)是一件好事。 'put'的那個需要該呼叫即將更新的記錄的ID。爲什麼寧靜的設計意味着區分創建和更新?
但他有一些好處,爲什麼我們區分創建和更新,但沒有將其合併到一個方法中,在該方法中檢查記錄是否已經存在可以確定它是創建還是更新?
謝謝!
HTTP的PUT和POST方法並不意味着是創建和更新操作的類比。你可以在http://stackoverflow.com/questions/630453/put-vs-post-in-rest – Jonas 2010-05-07 13:06:35
瞭解更多。謝謝喬納斯,我正在閱讀它。 – 2010-05-10 20:38:56