Ich habe eine Tabelle mit der klassischen Auto-Inkrement-ID und dem Firmennamen. Um zu vermeiden, dass die Geschäfts-ID dem Kunden offengelegt wird, möchte ich eine UUID verwenden. So weit, ist es gut. Das einzige Problem besteht darin, dass es für den Aufruf über eine URL besser ist, ein benutzerfreundlicheres Format zu verwenden, z. B. „api/businesses/my-business“ anstelle von „api/businesses/10b940f2-5f8c-42ac-9c35-b6d0de45995b“. ". Wenn ich also eine „Slug“-Spalte zur Tabelle für GET-Anfragen hinzufüge, während ich UUID für Datenaktualisierungen verwende, wäre dies eine bewährte Vorgehensweise?
In meinem Fall muss ich einen Datensatz in der Angebotstabelle erstellen, also wäre der PATCH:
PATCH /api/quotes/4dc93692-0ad9-4131-94fe-b4afec88d037 { "business_uuid": "10b940f2-5f8c-42ac-9c35-b6d0de45995b", "object": "My quote object", "another_column": "Hello", }
如果您的数据库表结构包含
id
、uuid
、slug
,请考虑以下内容:id
。uuid
。slug
。不要忘记slug
必须是唯一的。但对于服务之间的基本 CRUD 操作,我仍然建议继续使用uuid
。我还建议查看有关 Laravel 资源 的 Laravel 文档,这些文档可以帮助您为 API 准备数据,以及 slugify 助手 处理您的数据字段之一的函数。