我有一个表,其中包含经典的自动递增 ID 和公司名称。为了避免将业务 ID 暴露给客户端,我想使用 UUID。到目前为止,一切都很好。唯一的问题是,对于从 URL 调用它,最好采用更用户友好的格式,例如“api/businesses/my-business”,而不是“api/businesses/10b940f2-5f8c-42ac-9c35-b6d0de45995b” ”。因此,如果我向表中添加一个“slug”列以用于 GET 请求,同时使用 UUID 进行数据更新,这会被视为最佳实践吗?
就我而言,我需要在报价表中创建一条记录,因此 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 助手 处理您的数据字段之一的函数。