Laravel 使用 UUID

Laravel 使用 UUID

最近在寫小程序的時候,須要後端提供 API 接口,後端是使用 Laravel 開發的 API 接口,出於數據安全等諸多因素,就在返回的數據中實現了簡單的 UUID 集成。小程序

軟件版本:Laravel 5.6

因爲 Laravel 5.6 自帶了 UUID 的 package 支持,全部在開啓 UUID 的時候,咱們只須要作幾步關鍵的設置便可:後端

1.數據表的設計指定 uuid

在 Model 對應的數據表設計的時候,須要經過相似下面的代碼生成 uuid 支持:
圖片描述
這裏咱們主要是修改了 id 字段的定義,不在使用默認的 increment() ,而是使用 uuid() 方法,不過在指定完 uuid() 以後,最好也記得加上 primary('id') 的定義。安全

2.Model 設置

Model 設置這一部分有兩個關鍵的步驟,一是設置 $incrementing屬性爲 falseui

public $incrementing = false;

二是經過 boot() 方法自動維護 uuidspa

圖片描述

3.重用爲 trait 代碼

有了前面的兩個步驟,其實針對一個 Model 的uuid 設置基本上就完成了;不過咱們是能夠將有關 uuid 部分的代碼作成一個 trait 的,由於有了 trait,咱們的代碼就能夠重用了:設計

圖片描述

因此,最後咱們的代碼差很少能夠是這個樣子的:code

圖片描述

咱們來看一個最簡單的數據返回示例:接口

圖片描述

這樣咱們就達到了在提供 API 接口的時候返回 uuid 而不是自增的 id 的目的了。圖片

相關文章
相關標籤/搜索