過了17天的鋪陳終於迎來了我最喜歡的18天,前面已經建立起一個良好的基礎環境可以好好的開始專案了,所以今天就來介紹每個功能最基礎的組成:CRUD。
所謂的CRUD就是由Create、Read、Update、Delete,新增、讀取、更新、刪除的四個英文字的第一個英文字母所組成,通常Read會包含兩個功能,一個是List列表功能及Detail的詳細資料功能。
舉例來說,我想要做一個書架的功能,上面可以新增、刪除我所擁有的書籍,然後可以講書名做成一個列表讓他人觀看,耶可以有一個詳細頁面來介紹這本書籍的內容,以及資訊輸入錯誤時可以讓我更正的功能,在RESTful api尚未普及時,每個功能的名稱可能會被取名為這樣
新增 - POST method
/add_book
列表 - GET method
/update_book
詳細 - GET method
/detail_book/{book_id}
修改 - POST method
/update_book/{book_id}
刪除 - POST method
/delete_book/{book_id}
這是我今天可能的命名方式,也有可能下週我的命名方式就不一樣了,其他人的命名方式可能也跟我不一樣,所以就有了RESTful API的介面統一格式,搭配HTTP method來達到統一的命名方式,減少因為個人風格造成的麻煩
列表 - GET method
/books
新增 - POST method
/books
詳細 - GET method
/books/{book_id}
修改 - PUT method
/books/{book_id}
刪除 - DELETE method
/books/{book_id}
有些人會在修改時選用兩種方法,一個是PUT一個是PATCH,PUT需要提供全部的資訊,PATCH僅需提供要修改的資訊即可,這個部分我覺得只要團隊溝通過後決定就可以了。
我覺得Imgur的API文件就是一個很好的範例,Imgur本身也是一個很好用的圖床,可以多多使用並感受RESTful API的好處。
當然RESTful API不是僅有統一介面標準這個功能而已,還有Stateless、Cacheable、Client-Server、Layered System、Code on Demand,包含Uniform Interface共六大概念,今天僅介紹Uniform Interface就好。
今天的介紹到此結束,謝謝觀看的各位,請記得按讚分享開啟小鈴鐺,你的支持會讓按讚數+1。