iT邦幫忙

2026 iThome 鐵人賽

DAY 6
0

上一篇認識了 HTTP Method,知道 Request 可以使用 GET、POST、PUT、DELETE 等不同的方法,來表示這次想要進行什麼操作。

例如:
GET /tasks → 取得作業資料
POST /tasks → 新增作業資料

前端有事情需要後端處理時,可以透過 HTTP 發出 Request,而後端處理完之後,再透過 Response 把結果回傳。

前端發出的 Request 會包含這次使用的 Method,並透過 URL(網址)指定 Request 要送到哪裡。

例如:
http://127.0.0.1:5000/tasks

這是一個網址,其中的:/tasks
就是 Path(路徑)。

如果這次請求使用的 Method 是 GET,我們平常會簡單寫成:
GET /tasks
意思就是:「對 /tasks 發出一個 GET Request。」

所以要注意,GET /tasks 並不是一個網址,而是把 Method + Path 放在一起表示。

後端收到 請求 (Request) 之後,就會根據 Path(路徑)和 Method(方法),找到對應的處理方式。

那為什麼我們前面的路徑會設計成 /tasks?

這就跟今天要介紹的 REST 有關。

REST 是什麼?

REST = Representational State Transfer。

REST 是一種設計 Web API 的架構風格。

我們目前可以先把它簡單理解成一種設計 Web API 的方式。

在 REST API 中,其中一個很重要的概念就是 Resource(資源)。

Resource 可以先簡單理解成:「我們想要透過 API 操作的東西。」

例如我們現在想做的是一個作業管理 API,需要取得、新增、修改或刪除「作業」。

那麼「作業 Task」就可以看成一種 Resource。

如果今天管理的是使用者,那麼「使用者 User」也可以是一種 Resource。

例如:
Task(作業) → Resource
User(使用者) → Resource

在設計 REST API 時,通常會根據這些 Resource 來設計 Path。

例如:
/tasks → 和作業有關的路徑
/users → 和使用者有關的路徑

所以前面一直使用的 /tasks,並不是 Resource 本身。

Task 才是 Resource,而 /tasks 是根據這個 Resource 所設計的 Path。

有了 Path 之後,再搭配上一篇介紹的 HTTP Method,就可以表示我們想要對這個 Resource 做什麼。

例如:
GET /tasks → 取得作業
POST /tasks → 新增作業

把 GET /tasks 拆開來看:
Resource:Task → 我們要操作的是作業
Path:/tasks → 和作業有關的路徑
Method:GET → 這次想要取得資料

合起來:GET /tasks
就可以理解成:「對 /tasks 發出 GET Request,取得作業資料。」

目前可以先把 REST API 理解成:
把 API 要操作的東西看成 Resource,根據 Resource 設計對應的 Path,再搭配 HTTP Method 表示想要進行的操作。

例如:
GET /tasks → 取得作業
POST /tasks → 新增作業

REST 還有其他的設計原則,不過目前先理解 Resource、Path 和 HTTP Method 之間的關係就可以了。

小結

到這裡,前面幾天介紹的東西也慢慢連起來了。

前端可以透過 HTTP 發出 Request,Request 會帶著 Method,並透過 URL 指定要送到哪裡;後端收到 Request 後進行處理,再透過 Response 把結果回傳。

而 REST 則提供了一種設計 Web API 的方式,讓我們可以圍繞 Resource 來安排 API 的 Path 與操作。

前面六天主要都在認識這些基本觀念。

下一篇就開始實際使用 Flask,建立第一個 Flask 後端程式。


上一篇
Day 5|GET、POST、PUT、DELETE 在做什麼?
下一篇
Day 7|第一個 Flask 程式
系列文
從零開始的後端開發:用 Flask 實作 REST API,搞懂 API 與資料庫之間如何協作 共 15 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言