使用 UUID 和 slug 欄位管理 Laravel REST API 中公共和內部識別碼的最佳方法
P粉360266095
P粉360266095 2024-03-28 13:41:30
0
1
341

我有一個表,其中包含經典的自動遞增 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",
}

P粉360266095
P粉360266095

全部回覆(1)
P粉262073176

如果您的資料庫表格結構包含iduuidslug,請考慮以下內容:

  1. 僅在後端內部使用 id
  2. 使用 REST API (CRUD) 處理資源時使用 uuid
  3. 當您想要在人類更容易讀取/識別/理解資料的地方處理資源時,請使用 slug 。不要忘記 slug 必須是唯一的。但對於服務之間的基本 CRUD 操作,我仍然建議繼續使用 uuid

我還建議查看有關 Laravel 資源 的 Laravel 文檔,這些文檔可以幫助您為 API 準備數據,以及 slugify 助手 處理您的數據字段之一的函數。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!