開發者詢問 48HoursTopViewPosts/{itemCount} 這類 URI 代表什麼資料格式。本文解析 RESTful API 中 URI 範本設計、HTTP 方法語意與標準回應格式。
GET /48HoursTopViewPosts/{itemCount}
| 元素 | 含義 | 範例 | |
|---|---|---|---|
48HoursTopViewPosts | 資源集合名稱:48 小時熱門瀏覽文章 | 名詞複數,表集合 | |
{itemCount} | 路徑參數:客戶端指定回傳筆數 | /48HoursTopViewPosts/10 取前 10 筆 | |
GET | HTTP 方法:安全、冪等、僅查詢不修改 | 符合 REST 查詢語意 |
| 格式 | 優點 | 缺點 | 現狀 |
|---|---|---|---|
| JSON | 輕量、人類可讀、各語言原生支援、無結構描述檔 | 無二進位支援、無註解 | ✅ 事實標準 (95%+ API) |
| XML | 結構嚴謹、XSD 驗證、支援命名空間 | 冗長、解析慢、JavaScript 處理麻煩 | ⚠️ 企業級/舊系統 |
| Protocol Buffers | 極致效能、強型別、向後相容 | 需 .proto 定義、非人類可讀、瀏覽器原生不支援 | 📈 內部微服務/高效能場景 |
| MessagePack | 二進位 JSON、體積小、快速 | 除錯困難、生態系較小 | 🎯 特定高效能需求 |
{ data, meta, links, error } 四大區塊page/size 或 offset/limit,而非路徑參數傳筆數/api/v1/ 或 Header Accept: application/vnd.myapi.v1+jsonGET /api/v1/posts/top-viewed?hours=48&limit=10&offset=0
# 或
GET /api/v1/posts?sort=-viewCount&filter=last48h&limit=10
48HoursTopViewPosts/{itemCount} 是合法的 RESTful URI 範本,語意清晰。回應格式**強烈建議使用 JSON**,並遵循統一結構、標準分頁、版本控制等最佳實踐,打造好用、可維護的 API。