REST API 是一套讓不同系統或程式能夠透過 HTTP 協定、以標準化方式交換資料的規範。
React Dashboard
↓
REST API
↓
FastAPI Backend
↓
SQLite
↓
LLM
前端的 React 應用程式無須關注後端 Python 的內部實作細節,只需透過雙方約定好的介面進行溝通:GET /events:向後端請求取得事件資料。POST /events:向後端提交一筆新的事件。
GET:取得資料
例如先前實作的GET /health語意為:「請提供目前 Backend 的狀態。」
後端則會回傳對應的結果:
{
"status": "ok"
}
POST:傳送資料POST /events語意為:「此處有一筆新的 Security Event,請 Backend 接收並處理。」
前端會發送類似結構的資料:
{
"event_type": "alert",
"src_ip": "192.168.3.100",
"dest_ip": "192.168.3.141",
"dest_port": 80,
"protocol": "TCP",
"signature": "Possible Network Scan",
"severity": 2
}
後端收到後即可進行後續的處理流程。
修改main.py
啟動 FastAPI
打開 Swagger UI
新增 /events POST Endpoint,讓 Backend 可以開始接收 Security Event
點選Try it out
將內容改成我的Ubuntu VM IP
查看 Backend
Status Code:200(正常)
錯誤測試:將"dest_port": 80改成"dest_port": "abc"
Status Code:422(錯誤)

因為 dest_port: int
現階段可將 API 的核心概念歸納為:
建立 POST /events 端點,使 AI SOC Dashboard 的後端具備接收 Security Event 的能力。
透過刻意輸入錯誤的 dest_port 測試,實際觀察到 FastAPI 與 Pydantic 如何自動執行嚴謹的資料型態驗證。