Basé sur ce que dit ce type: http://toddfredrich.com/ids-in-rest-api.html
Supposons qu'il ait raison d'utiliser UUID pour identifier les ressources de l'API. Ensuite, je rencontre des problèmes pour essayer de l'implémenter de cette façon, c'est:
class FooEntity {
final String id = null; //auto-generated by my backend (mongodb), not shared
final UUID uid = UUID.randomUUID(); //the resource id
}
(Entre le client et le serveur, sont envoyés et reçus des DTO, pas des entités de base de données.)
Le problème est que ce id
n'est pas utile car je ne l'utilise plus. Le client fait les demandes uid
alors pourquoi est-ce que je me donne la peine de gérer 2 identifiants? Ensuite, nous revenons à la même question du début. Si j'ai défini UUID comme clé primaire ( _id
), j'expose l'ID du backend au public.
À côté de cela, il y a le sujet de l'efficacité. J'ai lu que l'indexation par ObjectId est beaucoup plus efficace que UUID.