iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0
Software Development

Zero to Ruby on Rails系列 第 26

Day 26 - API 應用程式介面

  • 分享至 

  • xImage
  •  

什麼是 API ?

在開發手機應用程式或是一些前端比較吃重的網站應用程式時,常會需要跟後端伺服器交換資料,交換資料的格式常見的有 JSON 或 XML 等格式,這樣的交換介面又稱之 API(Application Programming Interface)

Web API

Web API 是一種應用程式接口,允許不同的應用程式之間進行通信和數據交換。它遵循一組規則和標準,通常基於 HTTP 協議,以提供對資源的訪問和操作。這些資源可以是數據、服務、功能或其他應用程式提供的內容

Web API 具有以下特點:

RESTful 架構

Web API 常常遵循 REST(Representational State Transfer)設計原則,使用 HTTP 方法(GET、POST、PUT、DELETE)來執行操作,並使用 URI 來識別資源

資源導向

Web API 基於資源的概念,每個資源都有唯一的 URI,並通過 URI 來訪問和操作資源

數據格式

Web API 通常使用 JSON 或 XML 格式來交換數據,這些格式易於解析和處理

認證和授權

Web API 提供方法來驗證和授權用戶,確保僅有權限的用戶能夠訪問和修改資源

Ruby on Rails 中的 Web API

Ruby on Rails 中的 Web API 有四個功能分別是新增、讀取、更新及刪除,就是先前提到的 Rails 起手式 CRUD (Create 新增、Read 讀取、Update 更新、Delete 刪除)

資料格式 XML & JSON

JSON(JavaScript Object Notation)

JSON 是一種輕量級數據交換格式具有以下特點:

  • 易於閱讀和寫入 : JSON 使用簡單的鍵值對結構,易於理解和編寫
  • 輕巧 : JSON 數據格式相對簡單,不包含冗餘的元數據,因此傳輸效率較高
  • 良好的瀏覽器支援 : JSON 與 JavaScript 互操作性良好,因此適合用於瀏覽器和伺服器之間的通信

JSON 大概長這樣:

{
  "id": 1,
  "name": "Demo Product",
  "description": "This is a demo product",
  "price": 10.99
}

XML(eXtensible Markup Language)

XML 是另一種常見的數據交換格式,它使用標記語言來組織數據:

  • 結構化:XML 是一種結構化數據格式,每個元素都可以包含子元素,並有層次結構
  • 靈活性:XML 可以通過定義自訂標記來表示各種不同類型的數據
  • 跨平台:XML 是一個平台無關的數據格式,因此適用於各種不同編程語言和系統

XML 會像這樣:

<product>
  <id>1</id>
  <name>Demo Product</name>
  <description>This is a demo product</description>
  <price>10.99</price>
</product>

一般來說 JSON 更受歡迎,因為它簡單、輕量且易於處理,但還是取決於開發者的需求!

預告

明天預計來介紹 Google 第三方登入串接,我們明天見!


上一篇
Day 25 - Gem 套件
下一篇
Day 27 - Rails 串接 Google 第三方登入
系列文
Zero to Ruby on Rails30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言