Rumah  >  Soal Jawab  >  teks badan

Cara terbaik untuk mengurus pengecam awam dan dalaman dalam Laravel REST API menggunakan UUID dan lajur slug

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粉360266095P粉360266095228 hari yang lalu345

membalas semua(1)saya akan balas

  • P粉262073176

    P粉2620731762024-03-29 09:51:26

    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.

    balas
    0
  • Batalbalas