Saya mempunyai jadual dengan ID kenaikan automatik klasik dan nama syarikat. Untuk mengelak daripada mendedahkan ID perniagaan kepada pelanggan, saya ingin menggunakan UUID. Setakat ini, begitu baik. Satu-satunya masalah ialah untuk memanggilnya daripada URL, lebih baik menggunakan format yang lebih mesra pengguna, seperti "api/businesses/my-business" dan bukannya "api/businesses/10b940f2-5f8c-42ac-9c35-b6d0de45995b ". Jadi, jika saya menambah lajur "slug" pada jadual untuk permintaan GET semasa menggunakan UUID untuk kemas kini data, adakah ini akan dianggap sebagai amalan terbaik?
Dalam kes saya, saya perlu mencipta rekod dalam jadual petikan, jadi PATCH ialah:
PATCH /api/quotes/4dc93692-0ad9-4131-94fe-b4afec88d037 { "business_uuid": "10b940f2-5f8c-42ac-9c35-b6d0de45995b", "object": "My quote object", "another_column": "Hello", }
Jika struktur jadual pangkalan data anda mengandungi
id
、uuid
、slug
, pertimbangkan perkara berikut:id
.uuid
apabila bekerja dengan sumber menggunakan REST API (CRUD).slug
apabila anda ingin mengendalikan sumber yang lebih mudah untuk manusia membaca/mengenal/memahami data. Jangan lupa bahawaslug
mestilah unik. Tetapi untuk operasi asas CRUD antara perkhidmatan, saya masih mengesyorkan untuk terus menggunakanslug
。不要忘记slug
必须是唯一的。但对于服务之间的基本 CRUD 操作,我仍然建议继续使用uuid
.Saya juga mengesyorkan anda menyemak dokumentasi Laravel pada Sumber Laravel yang boleh membantu anda menyediakan data anda untuk API, dan slugify helper yang berfungsi mengendalikan salah satu medan data anda.