iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0
AI & Data

ML/DL實作-「營養抗老」專題製作系列 第 7

Day 7_ML/DL實作-「營養抗老」專題-強化 /api/recommendations

  • 分享至 

  • xImage
  •  
- 目標



加入 分頁、篩選、排序參數
改善 DTO,回傳更多細節

加上 錯誤處理與驗證

預備未來 Phase 3 DrugBank 交互查詢

🛠 工作項目
1. /api/recommendations API 強化

支援 Query Params:

?effectId=E001&page=1&size=10 → 分頁

?minGrade=B → 篩選最低證據等級

?sort=score,desc → 按分數排序(預設)

在 RecommendationService 裡加分頁與篩選邏輯
2. DTO 改進

RecommendationResponse
3. 錯誤處理與驗證

Controller 加上參數驗證:

缺少 effectId → 回 400

effectId 不存在 → 回 404

用 @ControllerAdvice + @ExceptionHandler 做統一錯誤格式:
4. 效能與可維護性

在 evidence 表上確認有索引:
5. 預備 Phase 3

設計 /api/interactions 空殼 Controller + DTO(先不實作 DB)

規劃 compound / drugbank_id 欄位未來怎麼查
✅ 驗收

/api/effects → 正常回 E001/E002

/api/recommendations?effectId=E001&page=1&size=2&minGrade=B

回傳只有 B 級以上的,分頁成功

/api/recommendations?effectId=NOPE

回 404 JSON 錯誤

整體 API 輸出格式 一致,前端可直接拿來渲染


上一篇
Day6_ML/DL實作-「營養抗老」專題-db schema 建立 4/4
下一篇
Day 8_ML/DL實作-「營養抗老」專題 | 穩定性與可觀測性(Cache/指標/文件/打包)
系列文
ML/DL實作-「營養抗老」專題製作14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言