最近在寫小程序的時候,須要後端提供 API 接口,後端是使用 Laravel 開發的 API 接口,出於數據安全等諸多因素,就在返回的數據中實現了簡單的 UUID 集成。小程序
軟件版本:Laravel 5.6
因爲 Laravel 5.6 自帶了 UUID 的 package 支持,全部在開啓 UUID 的時候,咱們只須要作幾步關鍵的設置便可:後端
在 Model 對應的數據表設計的時候,須要經過相似下面的代碼生成 uuid 支持:
這裏咱們主要是修改了 id
字段的定義,不在使用默認的 increment()
,而是使用 uuid()
方法,不過在指定完 uuid()
以後,最好也記得加上 primary('id')
的定義。安全
Model 設置這一部分有兩個關鍵的步驟,一是設置 $incrementing
屬性爲 false
:ui
public $incrementing = false;
二是經過 boot()
方法自動維護 uuid
:spa
有了前面的兩個步驟,其實針對一個 Model 的uuid 設置基本上就完成了;不過咱們是能夠將有關 uuid 部分的代碼作成一個 trait 的,由於有了 trait,咱們的代碼就能夠重用了:設計
因此,最後咱們的代碼差很少能夠是這個樣子的:code
咱們來看一個最簡單的數據返回示例:接口
這樣咱們就達到了在提供 API 接口的時候返回 uuid 而不是自增的 id 的目的了。圖片