iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0
Mobile Development

畢業專題拯救計畫系列 第 8

Flutter中的訂單系統--API基本概念

  • 分享至 

  • xImage
  •  

今天我們要介紹的是API 通訊與數據處理。API(Application Programming Interface)是一組定義不同應用之間如何進行溝通的工具。透過 API,應用可以與伺服器溝通,發送請求並接收回應。

API 通訊的流程

發送請求

當應用需要數據(例如用戶資訊、商品列表)時,它會向伺服器發送一個請求。這個請求通常使用 HTTP 協議,常見的請求方法包括 GET(獲取數據)、POST(發送數據)、PUT(更新數據)、DELETE(刪除數據)等。

GET

獲取數據

final response = await http.get(Uri.parse('http://localhost:3000/api/resource'));

POST

發送數據

final response = await http.post(
  Uri.parse('http://localhost:3000/api/resource'),
  body: json.encode({
    'title': 'New Post',
    'body': 'This is a new post.',
    'userId': 1,
  }),
  headers: {"Content-Type": "application/json"},
);
PUT

更新數據

final response = await http.put(
  Uri.parse('http://localhost:3000/api/resource'),
  body: json.encode({
    'id': 1,
    'title': 'Updated Post',
    'body': 'This post has been updated.',
    'userId': 1,
  }),
  headers: {"Content-Type": "application/json"},
);
DELETE

刪除數據

final response = await http.delete(Uri.parse('http://localhost:3000/api/resource'));

其中裡面的網址,需換成換成目標網站的API。大多數網站的 API 文檔中都會列出可用的端點、請求方法(如 GET、POST 等)、請求參數以及回應格式。

伺服器回應

伺服器處理請求後,返回對應的回應,這個回應通常是 JSON 格式的數據,並包含所需的資訊或者操作結果。回應通常包含狀態碼及回應本體。

  • 200 OK: 請求成功,伺服器返回了所需的數據。
  • 201 Created: 請求成功,並且資源已經被創建(常用於 POST 請求)。
  • 400 Bad Request: 請求有誤,伺服器無法處理(例如參數錯誤)。
  • 401 Unauthorized: 請求未經授權,需要身份驗證。
  • 404 Not Found: 請求的資源未找到。
  • 500 Internal Server Error: 伺服器內部錯誤,無法處理請求。

處理回應

應用接收到伺服器的回應後,會對數據進行處理,可能會更新 UI 或者進行進一步的邏輯處理。主要看程式碼的需求。

我們明天見~


上一篇
Flutter中的資訊系統--狀態管理基本概念
下一篇
Flutter中的故障應對措施--Network Error Handling
系列文
畢業專題拯救計畫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言