iT邦幫忙

2021 iThome 鐵人賽

DAY 18
0
Modern Web

每日1%,你會累趴。系列 第 18

Day18 Laravel - CRUD .feat RESTful API

過了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。


上一篇
Day17 Laravel - artisan
下一篇
Day19 Project2 - 留言板
系列文
每日1%,你會累趴。30

尚未有邦友留言

立即登入留言