iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
自我挑戰組

Rails 手工打造自己的部落格 系列 第 8

Rails 手工打造自己的部落格 08 - RESTfull API

  • 分享至 

  • xImage
  •  

昨天提到了 routes 的部分,
route是我們開發步驟的首要事項,
然而這個 route 的設計,Rails 是使用 REST 的風格來設計的,
通常我們也會稱之為 RESTful API。
那我們先來介紹 API 是什麼

API 應用程式介面

Application Programming Interface
API 是用於不同軟體系統間通訊的橋樑,
簡單來說,API 就像一個櫃檯,允許你透過特定的方式向另一個系統、服務或程式請求資訊或操作。
我們不需要知道他實際上是如何實作的,只要知道要怎麼使用它即可。

舉例來說:就像你走進一間餐廳,在菜單上畫好品項後遞給老闆,老闆就能夠提供你需要的餐點,而你不需要去在意餐點是怎麼被實做出來的。
所以比起在意它實際上怎麼被製作出來的,我們更在意怎麼獲得想要的東西,
因此會更在意:「輸入的方法」以及「輸出的結果」,對應上面的例子就是:「該如何點餐」以及「餐點的結果」。

  • API 可以用於很多情境,如:
  1. 存取外部資料:從其他網站或服務中檢索數據。ex.政府資料開放平台
  2. 整合第三方服務:將外部服務的功能整合到你的應用程式中。ex. 第三方登入(FB、Google)、金流串接
  3. 自動化任務:通過 API 自動執行特定任務或操作。
  4. 提供服務:開發者可以設計自己的 API,供其他開發者使用自己的服務或功能。

REST 表現層狀態轉換

全名:Representational State Transfer
也可譯為「具象狀態傳輸」
符合 REST 風格的網站架構可以稱為 RESTful。
它描述了如何實現 Web API 的架構,基於 HTTP 協定,用來建立分散式系統,並支援多種程式語言。
簡單的說,就是把每個網址當做資源(Resource)來看待,對同一個資源做不同的動作(HTTP Verb)會得到不同的結果。
而 RESTful API 就是,遵循著 REST 架構風格的 API。
RESTful API 請求資源的方法,需要包含的元件為:

  1. URI(Uniform Resource Identifier)
    唯一資源識別符: 伺服器通常使用統一的 URL 來執行資源識別。
  2. HTTP 方法(HTTP Methods):
    RESTful API 使用標準的 HTTP 方法來執行不同的操作,主要有以下幾種:
    GET:取得資源或資源列表(意即查看)
    POST:創建新資源
    PUT:修改資源(全量更新)
    PATCH:修改資源(只修改部分資源)
    DELETE:刪除資源
  3. HTTP 標頭:Client 與 Server 之間的中繼資料,當中包含所需參數(路徑參數、Cookie 參數等)

resources 資源

如果我們要建立一個完整的 CRUD 系統,會直接使用 Rails 給的方法 resources
它會依照 RESTfull 標準來幫你產生 8 條不同的路由並且對應到 Controller 的 7 個方法。
譬如我們要做一個使用者系統,我們就直接打以下指令

resources :user

就會長出這些路徑
https://ithelp.ithome.com.tw/upload/images/20230923/201626793MkfGO3sX9.jpg


上一篇
Rails 手工打造自己的部落格 07 - MVC 設計
下一篇
Rails 手工打造自己的部落格 09 - Git init
系列文
Rails 手工打造自己的部落格 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言