2. NODEJS API SERVER IMPLEMENT
一.目標
▸多專案共同開發,可共用API
▸簡化api route設計
▸以設定檔替代程式修改
▸相容不同db type連線
▸token 安全管理
3. NODEJS API SERVER IMPLEMENT
二.應用技術
▸nodejs
▸express
▸socket.io
▸Json Web Token
4. NODEJS API SERVER IMPLEMENT
三.提供功能
▸Config Everything
▸Simple Route
▸Http ,Https ,Socket ,WebSocket Support
▸i18n multi language support
▸Template render
▸log2db
5. NODEJS API SERVER IMPLEMENT
四.需求與解法
▸硬體效能利用
Cluster做ChildProcess 管理
▸自動建立與關閉連線
透過MiddleWare Module 做before after處理
讓每個request 自動取得與關閉connection
▸連線管理
使用connction pool 做連線管理
6. NODEJS API SERVER IMPLEMENT
四.需求與解法
▸token驗證
使用json web token驗證api存取權限
可指定要驗證api的路徑規則
可指定使用不同jwt 驗證
▸多db type支援
可同時連線不同type db
透過設定即可切換
目前支援mssql,mysql,mongodb等db連線
7. NODEJS API SERVER IMPLEMENT
四.需求與解法
▸多語系支援
i18n多語系支援
▸提供Config設定
透過設定檔,設定需求功能
除了寫route規則外
不需要修改核心程式
所有的設定都透過設定檔案完成
8. NODEJS API SERVER IMPLEMENT
四.需求與解法
▸提供debug功能
透過改寫req.json,可以更乾淨的輸出debug資訊
▸簡化api route實作
盡量保持使用 express route書寫原則
9. NODEJS API SERVER IMPLEMENT
五.實作要點
▸架構
以目錄為單位管理route檔案
利用namespace機制避免uri衝突
▸攔截進入route的前 驗證token
依照json web token規範實作token
並可保留資料在token內做selfissue
10. NODEJS API SERVER IMPLEMENT
五.實作要點
▸攔截進入route的前後 管理連線
進入route前依照query的資料建立連線
放在req.connection傳給route
離開route時 透過req.connection取得該連線 與關閉
▸route類別設計
利用class繼承 簡化應用端程式開發
之後要增加功能與修改 只需修改上層class
方便維護