主頁> 精選教學 >RESTFUL API 中文教學:一文看清 API、CRUD 及 Restful
API

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

留言
分享文章: Facebook X LINE LinkedIn

相信大家都十分熟悉網上購物、網上訂座等服務吧,但背後的運作是怎樣的,你知道嗎?靠著API,能將軟件與硬件連結在一起,使我們現時的生活更方便。那甚麼是 API 呢?Restful 又是什麼?

鳴謝鬍子科技學院提供文章

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

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

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

甚麼是 API?

API 全名叫 Application Programming Interface(應用程式介面)。現時,我們只要透過互聯網,用指尖點一點或輸入簡單的文字,在一瞬間,便能夠與世界接觸。例如:我們可以透過網購來購買衣服、透過網絡來購買電影票。究竟背後是怎樣運作的呢?事實上API就是幕後功臣,擔當著郵差的角色,遊走於應用程式(app)、資料庫(database)、裝置(device)之間,互相傳送資料,最後創造連結,並成功為顧客提供服務。

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

還是不太明白?用網購作例子吧!你在網店上選擇了喜歡的商品後,可以使用信用卡來付款。這個時候,這間網店,就正是連接了信用卡系統,而信用卡系統又連接了你的銀行戶口。這些不同的系統/軟件/硬件,理應不能直接地互動。要讓他們連在一起, 互相溝通,就要透過一個 Interface (介面),那就是 API 了。

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

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

比方說:我在網頁上,按「買東西」。網頁就會和背後的 Server,發出一個 Request,說要「買東西」。Server在收到這個 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 – 刪除現有酒店的資料
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就代表酒店資料了。

要對這些酒店資料進行操作,就需要一個 API endpoint

2.CRUD Operation

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

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

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

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

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

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

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

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

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

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

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

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

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 就可以控制全部酒店資料了,非常方便。

結語

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

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

[教學] 以 YouTube Data API 擷取 YouTube 影片資訊 [Ruby on Rails]

尋找線上學習平台:
Udemyhahow六角學院Coursera

馬上領取Hahow好學校 9 折優惠

訪客留言