4B WebApi 決策確認紀錄
本文件記錄使用者於 2026-06-06 對第四階段 4B WebApi 目標模式的確認結果,作為 4B WebApi contract 草案 / 實作前確認表 進入程式實作前的依據。
本次確認不代表同意建立 ServiceHost、Plugin Loader、外部 DLL 載入、正式 DB DDL、正式 Apply、認證授權套件、正式部署設定或真實硬體控制。
0. 確認狀態
| 項目 | 內容 |
| 文件狀態 | 已確認 |
| 整理日期 | 2026-06-06 |
| 確認日期 | 2026-06-06 |
| 對應階段 | 第四階段 4B WebApi |
| 使用者回覆 | 確認項目依照您的建議 |
| 已完成前置 | 文件 repo 第四階段標準包 commit 400b676 並 push;Cloudflare Pages 新文件頁 HTTP 200 |
| 後續可進入 | 程式 repo 結構盤點、最小 WebApi 第一版實作、API 測試與 DB 非破壞性驗收 |
1. 七項確認結果
| 編號 | 確認項目 | 建議 | 確認結果 |
| 1 | 先固定文件 repo 第四階段標準包 | 先 commit / push 現有第四階段標準包。 | 同意,已完成。 |
| 2 | 是否允許新增 WebApi | 允許新增 HS.DeviceControl.WebApi 與 WebApi 測試專案。 | 同意。 |
| 3 | WebApi 第一版範圍 | 採最小 API,不先加 auth / middleware / Swagger / 部署設定。 | 同意。 |
| 4 | API 測試方式 | 以本機自動測試與本機啟動驗收為準。 | 同意。 |
| 5 | DB 測試方式 | 先跑非破壞性與 manual gate disabled 測試;真實 DB 另行確認。 | 同意。 |
| 6 | DB 停止線 | 明確禁止 DB DDL、ALTER TABLE、正式 Apply。 | 同意。 |
| 7 | 4C / 4D 邊界 | ServiceHost 與 Plugin Loader 只保留 contract,不在本輪一起實作。 | 同意。 |
2. 採用結論
- 4B 可以進入最小 WebApi 第一版程式實作。
- WebApi 第一版只作為 HTTP request / response 邊界,透過
HS.DeviceControl.Applicationcontract 承接。 - API 測試需納入驗收,至少包含 route、DTO、錯誤格式、Health、Task、Device Status 與 Schema Preview 邊界。
- DB 測試先執行非破壞性與 manual gate disabled;真實 DB 測試需另行確認環境與 gate。
- 本輪不做 ServiceHost、不做 Plugin Loader、不載入外部 DLL、不做 DB DDL / ALTER / Apply。
3. 下一步
依本確認紀錄,下一步可先盤點程式 repo:
HS.DeviceControl.Application是否已有可供 WebApi 呼叫的 service / DTO。.sln與src//tests/是否適合新增 WebApi 專案與測試專案。- API 測試需要的 fake service 是否能維持在測試專案內,不污染 production contract。
- 是否需要新增測試套件;若需要,需先回報套件名稱與原因。
盤點完成後,才進入最小 WebApi 第一版程式修改。