2
比方說,我想建立一個REST服務做筆記,看起來是這樣的:客戶端ID生成策略
GET /notes/ // gives me all notes
GET /notes/{id} // gives the note identified by {id}
DELETE /notes/{id} // delete note
PUT /notes/{id} // creates a new note if there is no note identified by {id}
// otherwise the existing note is updated
因爲我想我使用PUT來indempotent我的服務創建並更新我的筆記 這意味着新筆記的ID由客戶端設置/生成。
我想過使用GUID/UUID,但它們很長,並且會使URL記住相當困難。同樣從數據庫的角度來看,當用作大表中的主鍵時,從性能的角度來看,這樣的長字符串ID可能是麻煩的。
你知道一個好的身份證生成策略嗎,它會生成短ID並且當然避免碰撞?
好的。但是,如果您的回覆丟失,您如何避免重複創建? – Zounadire 2012-04-04 19:05:39
@Zounadire:你不能(嗯,我相信有一些技巧)。請注意,plain [tag:soap]也不能保證。 – 2012-04-04 19:08:00
完美答案。 – shashankaholic 2012-04-04 20:39:05