資料交換允許上傳資料的同時,如果也提供修改,及刪除的功能,
就必須要有權限的控管,如果不允許修改,刪除,又怕資料淪為無可用的垃圾,
可以適當的權限,有其存在的必要性。
RESTFUL API, 一般是無ui的資料交換,或是不限ui,讀者可以用任何符合規範,有實作
RESTFUL API的程式語言來存取,因為json格式最早來自於javascript,所以是原生瀏覽器
支援,其他語言基本上都ok。
沒有ui時,沒有輸入帳號密碼,怎麼做驗証呢? 筆者卡在這裏好久,所以用粗淺的知識,在資料交換的
格式裏,定義,例如http://127.0.0.1:8011/ntpcbmws/aparts/巴黎假期?usr=lili&pwd=1234
用usr=lili&pwd=1234來做管控。
比較流行的方式是,oauth2,這可以搭配JWT,強國的高手,寫了一篇實作,
也順便把oauth2/JWT的來龍去脈講解了一遍,恕筆者看懂了圖,但因為步驟太多,
就沒有實作練習。想尋找一下簡單的案例,或是已整合好,不必管細節的專案。
果然,筆者的心聲,有高手傾聽到了,所以在年初寫了一篇專文,更佛心來者,整合好了一個懶人包(boilerplate),放在github上。
但是,筆者仍然看不懂,因為,
laravel在前不久,(還是更早?),更新到5.3, 其中有一些地方,做法改變了,剛好是auth,route,
這些和實作restful api 有關的地方。而作者 Francesco Malatesta 已經更新到5.3,並以tag識別,
筆者並不知道,搞了很久,
而他的大文是用5.2為例子,所以,首先,把程式碼下載(git clone)後,要記得切換tag!!
筆者google了一下,是用網友的方法,
因為git也不太熟,試了一下
git tag -l #會有5.2 5.3
git checkout 5.2
程式碼就奇妙的回到過去。
然後,依然不懂 oauth2/JWT的情況下,程式就有 比較跟得上時代的驗証方式了!
如
這樣做比較安全點。之前筆者的明碼帳密顯然太危險了!!
這個案例,全方位的示範了。
GET ALL 看全部
GET ID 看一筆
POST INSERT/STORE 寫一筆
PUT UPDATE 更新
DELETE DELETE/DESTROY 刪除
比較完整的restful api 應該具備的功能。
以文內的例子,GET books 全部,books 用複數,都是一些常用的最基本慣例。
而狀態碼的顯現,dingo也貼心的實作了。這些小地方,自己實作,又怕設想不夠週到,
有時又有時間壓力,或是做得不一般。
這個案例也加秀了 認証過期的做法。
{
"message": "Token has expired",
"status_code": 401
}
讓自已定義的restful api,更符合國際標準。
關於台灣特色的文化,
很多事情,因為歷史悠久,且株連甚廣,所以很難去改正,但是如果方向是正確的,在做法上顧及人情,
其實值得贊許。如不當黨產的處理。
雖然,我們知道有一種行業,有一分工作叫黨工,但是沒有想到它的人數如此眾多。
牽動的家庭如此眾多。可是,它的大量過度存在,又是另一種社會不公的呈現。
而在運動領域裏,同樣成立,例如羽協,沒有人失意的政客不能加入運動協會,但是
重要的職缺,如理事長、副理事長,都以政客為主,那顯然就有問題,每一次民主的改選,
卻是換湯不換藥的陳腐依舊。
讓人只能想到,耶穌將死時,講的話,
當下耶穌說:「父啊!赦免他們;因為他們所做的,他們不曉得。」
Then said Jesus, Father, forgive them; for they know not what they do.
因為他們不曉得,所以國內廠商多年來,只能贊助南韓羽球國家隊,馬來西亞國家隊,菲律賓國家隊,
因為他們不曉得,,所以表面上向全國人民道歉,不追究戴一姐,但私底下不能同理心的對另一球員寬恕,
而產生了羽協理監事會議錄音檔外流熱門搜尋字。
想想南非世界級偉人曼德拉做過的事,拍成的電影,
1994年
... 省略
(南非)政治動盪、經濟蕭條、治安敗壞,以及嚴重的種族對立等。
他(曼德拉)知道他必須找到一個方法,重新喚起人民對國家的認同,
於是他看上了即將在南非舉辦的世界盃橄欖球賽。雖然南非代表隊是一支實力很弱,
而且被黑人仇恨的白人球隊,曼德拉仍沒放棄。他相信只要「跳羚隊」獲勝,全國民心就能團結一致。
類似的情境在台灣上演,夾在中美兩大超級強國間,始終沒有良好的政策止跌下滑的經濟,看似快要停擺的政府,
其實有時仍有解決的方法,1995年的一場世界級經典勝利帶來的南非經驗,也可以借鏡台灣。