除了可以自訂API內容之外,我們還可以建立RESTful API,簡單來說RESTful API就是透過簡潔易懂的架構下建立的API,優點是淺顯易懂,無需另外在寫入API(只需要加入設定檔),不過缺點就是比較沒辦法客製化,例如加入會員後要另外做什麼事情等等(寄驗證信),這就比較沒辦法用這招,格式會類似於:
!#新增
http://ip-address/user/insert
!#更新
http://ip-address/user/update
!#刪除
http://ip-address/user/delete
首先我們先在config/routes_api.php
來建立相關資料:
$config['routes_table'] = array();
接著我們跟自訂API一樣,先定義是針對哪個內容/user
:
$config['routes_table'] = array(
'user'=> array();
);
下一步我們針對user
去新增規則:
$config['routes_table'] = array(
'user'=> array(
'table'=> 'user_main',
'method'=> array(
'insert'
),
'detals'=> array(
'insert'=> array(
)
)
)
);
各個意義代表如下:table
代表指定資料庫method
當前可使用方法detals
使用方法的細節
接下來我們針對detals
加些參數:
$config['routes_table'] = array(
'user'=> array(
'table'=> 'user_main',
'method'=> array(
'insert'
),
'detals'=> array(
"insert"=> array(
// 負責驗證
'verify'=> array(),
// 傳輸方式
'type'=> 'post',
// 帶入的參數
'query'=> array(
'user_uid'=> 'user_uid',
'user_displayName'=> 'user_displayName',
'user_email'=> 'user_email',
'user_photoURL'=> 'user_photoURL'
),
// 相似的關鍵字
'likes'=> array(),
// 特殊的方法
'record'=> array(),
// 預設內容
'default'=> array(
'updateAt'=> 'code_date',
'updateAtTime'=> 'code_time',
'tsUpdateAt'=> 'code_timestamp',
'lastLogin'=> '',
'lastLoginTime'=> '',
'tsLastLogin'=> '0'
),
// 必填資料
'require'=> array(
'user_uid',
'user_displayName',
'user_email',
'user_photoURL'
)
),
)
)
);
如此一來我們就建立好RESTful規則了,明天我們在加入到Api.php裡面。
Next station ... RESTful API