Bu adamın söylediklerine dayanarak: http://toddfredrich.com/ids-in-rest-api.html
API kaynaklarını tanımlamak için UUID kullanma konusunda haklı olduğunu varsayalım. Sonra bu şekilde uygulamaya çalışırken sorunlarla karşılaşıyorum, bu:
class FooEntity {
final String id = null; //auto-generated by my backend (mongodb), not shared
final UUID uid = UUID.randomUUID(); //the resource id
}
(İstemci ve sunucu arasında, veri tabanı varlıkları değil, DTO'lar gönderilir ve alınır.)
Şimdi sorun artık id
kullanmıyorum gibi yararlı değil. Istemci istekleri yapar, uid
bu yüzden neden 2 kimlik işlemek için rahatsız ediyorum? Sonra başlangıcın aynı konusuna geri dönüyoruz. UUID'yi birincil anahtar ( _id
) olarak ayarlarsam , arka uç kimliğini herkese açık olarak gösteririm.
Bunun yanında verimlilik konusu var. ObjectId tarafından endeksleme UUID çok daha verimli okudum.