次のようなメモを作成するための REST サービスを構築したいとします。
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 を使用してメモを作成および更新しています。これは、新しいメモの ID がクライアントによって設定/生成されることを意味します。
GUID/UUID を使用することを考えましたが、かなり長く、URL を覚えるのがかなり難しくなります。データベースの観点からも、このような長い文字列 ID は、大きなテーブルで主キーとして使用されると、パフォーマンスの観点から問題になる可能性があります。
短いIDを生成し、もちろん衝突を回避する優れたID生成戦略を知っていますか?