REST API 與資料格式
不用會寫程式,但要看得懂一個 API 請求在做什麼。
約 12 分鐘
REST API 讓程式可以透過 HTTP 跟系統溝通。CCNA 只要求你看得懂,不要求你寫。
四個 HTTP 動詞
| 動詞 | 動作 | 對應 CRUD | 例子 |
|---|---|---|---|
| GET | 讀取 | Read | 取得所有裝置清單 |
| POST | 新增 | Create | 建立一個新的 VLAN |
| PUT | 取代/更新 | Update | 整筆覆蓋某個設定 |
| PATCH | 部分更新 | Update | 只改其中一個欄位 |
| DELETE | 刪除 | Delete | 移除一個網段 |
常見回應狀態碼
| 代碼 | 意義 | 常見原因 |
|---|---|---|
| 200 OK | 成功 | 請求正常完成 |
| 201 Created | 建立成功 | POST 成功 |
| 400 Bad Request | 請求格式錯誤 | JSON 寫錯 |
| 401 Unauthorized | 未驗證 | 沒帶 token 或 token 過期 |
| 403 Forbidden | 沒有權限 | 帳號權限不足 |
| 404 Not Found | 找不到 | URL 路徑錯誤 |
| 500 Internal Server Error | 伺服器錯誤 | 對方系統出問題 |
JSON:最常見的資料格式
{
"hostname": "R1",
"vlan_count": 12,
"is_active": true,
"interfaces": [
{ "name": "Gi0/0", "ip": "10.1.1.1", "up": true },
{ "name": "Gi0/1", "ip": "10.1.2.1", "up": false }
],
"location": {
"site": "Taipei",
"floor": 3
}
}- 大括號 `{}` = 物件:一組「鍵:值」配對。
- 中括號 `[]` = 陣列:一串有順序的東西。
- 值的型別:字串要加雙引號、數字不用、布林是
true/false(小寫)、空值是null。
| 格式 | 特徵 | 用在哪 |
|---|---|---|
| JSON | 大括號中括號,最常見 | REST API |
| XML | 成對標籤 <x></x>,較冗長 | NETCONF |
| YAML | 靠縮排,最好讀,key: value | Ansible playbook |
立即測驗這一節(5 題)