Cara terbaik untuk mengurus pengecam awam dan dalaman dalam Laravel REST API menggunakan UUID dan lajur slug
P粉360266095
P粉360266095 2024-03-28 13:41:30
0
1
307

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",
}

P粉360266095
P粉360266095

membalas semua(1)
P粉262073176

Jika struktur jadual pangkalan data anda mengandungi iduuidslug, pertimbangkan perkara berikut:

  1. Hanya digunakan di dalam bahagian belakang id.
  2. Gunakan uuid apabila bekerja dengan sumber menggunakan REST API (CRUD).
  3. Gunakan slug apabila anda ingin mengendalikan sumber yang lebih mudah untuk manusia membaca/mengenal/memahami data. Jangan lupa bahawa slug mestilah unik. Tetapi untuk operasi asas CRUD antara perkhidmatan, saya masih mengesyorkan untuk terus menggunakan slug 。不要忘记 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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!