2025年9月19日 –, 402AB
-
為什麼企業查詢 API 需要「動態查詢」與「欄位權限」?
業務部門、資料分析師、IT 團隊的多元查詢需求
常見的查詢痛點:過度依賴多組固定 API、條件組合彈性差、欄位外洩風險
權限控管挑戰:不同角色、部門、系統間對資料存取的複雜規則 -
技術選型與架構設計
為何選擇 QueryDSL?它在動態查詢、類型安全上的優勢
GraphQL 的彈性查詢與欄位裁切 (projection) 特性
結合 Spring Boot + QueryDSL + GraphQL 架構圖
傳統 REST API vs. GraphQL 查詢 API:維護與擴展性的比較 -
QueryDSL 實作動態查詢的關鍵技巧
用 PredicateBuilder 動態組合條件 (AND/OR、IN、LIKE 等)
支援複雜查詢語意(區間、模糊、聯集、多表 Join)
怎麼保持查詢效能與易維護性
與 JPA、Spring Data 的整合經驗 -
GraphQL 實現彈性查詢與欄位權限控管
Schema 設計:如何設計 Query/Mutation,支援動態欄位選擇
資料回傳欄位動態組裝 (Resolver)
權限驗證機制:自訂 Directive、Context、DataFetcher 層級的權限判斷
欄位敏感資料遮蔽、動態過濾(如只讓特定角色看見特定欄位) -
權限控管框架整合
權限資料來源設計(OAuth claim )
權限檢查流程:Request > GraphQL Context > Data Fetcher/Resolver > Entity 欄位
實作細節與常見權限漏洞防範 -
維運與效能考量
大量查詢下的效能優化(N+1 問題、分頁設計、批次查詢)
監控與稽核:如何記錄 API 查詢行為,方便事後稽核及追蹤
中國信託銀行金融交易資訊處後端工程師
堅持「給予者」精神,積極推動團隊導入新技術和設計模式。專注系統穩定性,同時滿足業務多元需求,在技術鑽研與實務應用之間不斷追求最佳平衡