J'ai une table avec un identifiant classique à incrémentation automatique et le nom de l'entreprise. Pour éviter d'exposer l'ID d'entreprise au client, je souhaite utiliser l'UUID. Jusqu'ici, tout va bien. Le seul problème est que pour l'appeler depuis une URL, il est préférable d'utiliser un format plus convivial, comme "api/businesses/my-business" au lieu de "api/businesses/10b940f2-5f8c-42ac-9c35-b6d0de45995b". ". Donc, si j'ajoute une colonne « slug » au tableau pour les requêtes GET tout en utilisant l'UUID pour les mises à jour des données, cela serait-il considéré comme une bonne pratique ?
Dans mon cas, je dois créer un enregistrement dans la table des citations, donc le PATCH sera :
PATCH /api/quotes/4dc93692-0ad9-4131-94fe-b4afec88d037 { "business_uuid": "10b940f2-5f8c-42ac-9c35-b6d0de45995b", "object": "My quote object", "another_column": "Hello", }
Si la structure de vos tables de base de données contient
id
、uuid
、slug
, considérez les éléments suivants :id
.uuid
lorsque vous travaillez avec des ressources utilisant l'API REST (CRUD).slug
lorsque vous souhaitez gérer des ressources là où il est plus facile pour les humains de lire/reconnaître/comprendre les données. N'oubliez pas queslug
doit être unique. Mais pour les opérations CRUD de base entre services, je recommande toujours de continuer à utiliserslug
。不要忘记slug
必须是唯一的。但对于服务之间的基本 CRUD 操作,我仍然建议继续使用uuid
.Je vous recommande également de consulter la documentation Laravel sur Ressources Laravel qui peut vous aider à préparer vos données pour l'API, et le slugify helper dont les fonctions gèrent l'un de vos champs de données.