Restful API中文教學一文看清API、CRUD及Restful

相信大家都十分熟悉網上購物、網上訂座等服務吧,但背後的運作是怎樣的,你知道嗎?

靠著API,能將軟件與硬件連結在一起,使我們現時的生活更方便。

那甚麼是API呢?Restful又是什麼?

這篇「Restful API中文教學 - 一文看清API、CRUD及Restful」將讓你學會:

  • API的基本原理
  • CRUD的運作
  • Restful API的原理

準備好了嗎? 我們開始吧!

甚麼是API?

API全名叫Application Programming Interface(應用程式介面)。

現時,我們只要透過互聯網,用指尖點一點或輸入簡單的文字,在一瞬間,便能夠與世界接觸。

例如:我們可以透過網購來購買衣服、透過網絡來購買電影票。究竟背後是怎樣運作的呢?

事實上API就是幕後功臣,擔當著郵差的角色,遊走於應用程式(app)、資料庫(database)、裝置(device)之間,互相傳送資料,最後創造連結,並成功為顧客提供服務。

還是不太明白?用網購作例子吧!你在網店上選擇了喜歡的商品後,可以使用信用卡來付款。

這個時候,這間網店,就正是連接了信用卡系統,而信用卡系統又連接了你的銀行戶口。這些不同的系統/軟件/硬件,理應不能直接地互動。要讓他們連在一起, 互相溝通,就要透過一個Interface (介面),那就是API了。

看看這幅圖,軟件A向軟件B發出一個Request (請求);軟件B在接收到Request後,就可以作出Response(回應)。

比方說:我在網頁上,按「買東西」。網頁就會和背後的Server,發出一個Request,說要「買東西」。Server在收到這個Request後,就可以作出一個Response, 說「你已成功購買」。

這個就是API運作的簡單流程了。

CRUD Operation

網頁對Server發出的Request,通常包含4個不同的動作:

  • Create
  • Read
  • Update
  • Delete

你懂得CRUD Operation後,就已經能做到大部分Backend(後台)的功能了。

比方說,你是做一個類似Airbnb的網頁,網頁上當然會有酒店的資料,因此用家可以:

  • Create-建立新的酒店
  • Read-讀取現有酒店的資料
  • Update -更新現有酒店的資料
  • Delete - 刪除現有酒店的資料

這樣的4個動作,其實就已經涵蓋了對酒店資料全部的操作。這個就是CRUD Operation了。

Restful API

1.API endpoint

要對這些酒店資料進行操作,就需要一個API endpoint,比方以:https://airbnb.com/api/hotels為例。

https://airbnb.com/api/是我們的網址,而hotels就是我們要進行操作的資料,我們稱為Resources。在這個例子hotels就代表酒店資料了。

2.CRUD Operation

在做Crud Operation前,我們先要知道4種通用的HTTP Methods,它們分別是:

  • GET-讀取資料
  • POST-新增資料
  • UPDATE-更新資料
  • DELETE-刪除資料

利用Restful架構,我們就可以進行CRUD Operation。

Create:建立新的酒店的話,我們會使用http method POST到這個API endpoint, 並附上這個新建的酒店資料。成功的話,我們就會收到這個新的酒店資料,作為Response。

Read:讀取全部酒店資料的話,我們會使用http method GET到這個API endpoint。成功的話,我們就會收到全部酒店資料 (一堆Array), 作為Response。

Read:讀取個別酒店資料的話,我們會使用http method GET到這個API endpoint,加上這個酒店的id。成功的話,我們就會收到這間酒店資料, 作為Response。

Update :更新現有酒店的資料的話,我們會使用http method PUT到這個API endpoint,並附上要更新資料的酒店id,及要更改的酒店資料。成功的話, 我們就會收到這個已更新的酒店資料,作為Response。

Delete :刪除現有酒店的資料的話,我們會使用http method DELETE到這個API endpoint,並附上要刪除的酒店的id。

由此可見,Restful API只會有5條,它們分別是:

  • POST /api/hotels
  • GET /api/hotels
  • GET /api/hotels/1
  • PUT /api/hotels/1
  • DELETE /api/hotels/1

利用以上API就可以控制全部酒店資料了,非常方便。

*現在Wordpress也可以讓你把其資料, 進行Restful API操作。有關基本的Wordpress教學, 可以看看WORDPRESS教學課程 - 1小時就學會架站

結語

好了!以上就是API,CRUD,Restful API的介紹,希望對你有用!

你也可以上Youtube觀看《什麼是API?CRUD?Restful API又是什麼?》:

如果大家有甚麼問題,歡迎email與我討論!

你可能也會喜歡...

加入我們的Email List

免費參加【網頁開發入門CRASH COURSE】線上課程!