【筆記】RESTful API-定義網頁網址的救星

 前言 

這次很難得寫一些「網頁開發」的雜談,就當作是 2025 年開春的第一篇文章!

有在 follow 我的粉絲應該都知道,平常我在師大念研究所,還在軟體業當 Junior 工程師。

在事情很多的情況下,很難在下班的時候練 (整理) 技術文章...

所以趁開學前,趕快來寫一下跟網頁開發相關的文章,順便讓自己複習一下!

 

這篇文章主要介紹什麼是 RESTful API,從一開始的 API 到 REST 風格都會聊到。

一開始文章會引用其他人的說法,最後融入自己的看法變成觀念。

我在底下的「參考文章」區塊,有推薦寫得超好的技術文章,很推大家去看看~

 

 API 

前輩 itsems 在介紹 API 文章中提到:

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

是品牌開發出的一種接口,讓第三方可以額外開發、應用在自身的產品上的系統溝通介面。」

我的想法:

1. 在實際理解 RESTful API 之前,先來看看什麼是 API

2. API 的全名是「應用程式介面」,乍看之下有點難理解:

其實它指的是「一個軟體的接口」,能夠使外部資源連結到這個軟體 (存取資料庫)

舉例:

如果今天我們到訂房網站,輸入國家、價格等資訊,它就會顯示相對應的飯店

有可能訂房網站的背後擁有這些飯店的 API ,這樣它才能夠存取這些飯店的資訊。

 

 RESTful API 定義 

微軟在訓練課程提到:

「表現層狀態轉移 (Representational State Transfer) 是建立 Web 服務的架構樣式。」

「遵守 REST 的 Web 服務 API 稱為 RESTful API。」

我的想法:

1. 看完 API 之後,現在來聊聊 RESTful API,我們先看 REST。

2. REST 全名是「表現層狀態轉移」(Representational State Transfer, REST)。

3. 其實 REST 本身是一種「軟體設計模式」,原本是用來管理複雜的網路通訊流程,後來被廣泛

應用在軟體開發的情境中。

4. 如果有一個 Web API 服務走的是 REST 風格,就會叫它 RESTful API。

 

 RESTful API 項目 

微軟在訓練課程提到:

「RESTful API 包含 3 個主要項目:」

「1. 基底 URI」

「2. HTTP 方法,例如 GET、POST、PUT、PATCH 或 DELETE。」

「3. 資料的媒體類型,例如 JavaScript 物件標記法 (JSON) 或 XML。」

我的想法:

剛才大致了解 API 和 RESTful API 的關係,現在來看 RESTful API 包含哪些項目:

1. URI:最常見的 URI 就是 URL,平常看到的「網址」就是 URL

例如:https://college.com.tw/student/1

2. HTTP 方法:客戶端與伺服器端的溝通方式。

例如:GET (顯示資料)、POST (新增資料)、PUT (完整更新資料)、DELETE (刪除資料)

3. 資源類型:資料的回傳型態,常見有「JSON」或 XML,JSON 長得像下圖:

【筆記】RESTful API-定義網頁網址的救星

 

 RESTful API 特性 

Amazon 在這篇文章有說明 RESTful API 的特性:

「1. 無狀態」

「2. 可快取性」

我的想法:

1. 無狀態:伺服器端 (Server) 不會記住以前客戶端 (Client) 的請求 (Request),統一由客戶端整理資訊給伺服器端,這樣稱為「無狀態」

2. 可快取性

以往客戶端發送請求給伺服器端後,伺服器端就會拋回相對應的資訊給客戶端。

這時候伺服器端可以允許客戶端「快取」資訊,這樣伺服器端就不用回傳相同的資訊給客戶端。

 

 RESTful API 範例 

身為一位後端工程師,對於每一個 Function 的定義,可能都不一樣。

我拿學生資料做新增、讀取、修改、刪除的示範:

【筆記】RESTful API-定義網頁網址的救星

 

上面每一個動作,都有包含 2 個路由 (Route) 範例,是不是很眼花撩亂...

如果現在改用 RESTful API 的話:

【筆記】RESTful API-定義網頁網址的救星

 

這樣上面的 URL 就清楚很多了,只是要額外對應不同的 HTTP 方法

工程師團隊就可以擁有一個「共識」去定義網址的名稱!

 

今天就跟大家介紹到這邊,如果有問題可以在下方跟我聊~

我是 W 先生,我們下次見!

順便打個廣告:我預計在 2025 上半年舉辦我的碩士論文訪談,詳情可以參考這裡

 

 延伸閱讀 

所有文章 / 網頁開發 / 後端

 

 參考文章 

什麼是 RESTful API?– RESTful API 介紹 – AWS

API 是什麼? RESTful API 又是什麼?. API ? RESTful API ? HTTP ? | by itsems | itsems_frontend | Medium

[不是工程師] 休息(REST)式架構? 寧靜式(RESTful)的Web API是現在的潮流?

 

🔥 馬上追蹤本站,千萬別錯過最新文章

🔔 關於本站 / 快速導覽

🔔 Facebook

🔔 Instagram

Mr.W 電腦村莊_FB封面照.png

arrow
arrow
    創作者介紹
    創作者 Mr. W 的頭像
    Mr. W

    Mr. W 電腦村莊

    Mr. W 發表在 痞客邦 留言(0) 人氣()