Spring Boot 專案(一) - 介紹與開發環境
畢業後開始找工作,在高雄開有關於 Express 的職缺很少,就因為這樣我決定多學一個後端框架。選擇 Spring 是因為大二的時候學過 Java,看了半天的書記憶就回復得差不多了。學到現在其實不難,也多虧有學習其他框架,在概念上很快就可以理解了。 ...
畢業後開始找工作,在高雄開有關於 Express 的職缺很少,就因為這樣我決定多學一個後端框架。選擇 Spring 是因為大二的時候學過 Java,看了半天的書記憶就回復得差不多了。學到現在其實不難,也多虧有學習其他框架,在概念上很快就可以理解了。 ...
最後一章就要來完成整個專案,把剩下的 Controller、Middleware 與 Routes 完成即可。 ...
此篇章會使用 Typegoose 來建立資料庫的 models,並且設定獲得與驗證 JWT 的方法。 ...
這個專案會使用 Node.js 和 TypeScript 來建構 REST API 後端,使用 JWT 來實作身分認證與授權。 此專案會遵循我慣用的 OOP 架構 et860525/express-project-architecture,有鑑於上一次專案的經驗,由於這些都只是小專案,我不會把所有東西都全部都包在 class 裡面 建構此專案會用到的重要套件: Package Usage Express Web 應用框架 TypeScript 開發工具 Mongoose 訪問資料庫 Docker 應用容器化 MongoDB 儲存使用者的資料庫 Redis 儲存使用者緩存的 session 資料庫 JsonWebToken 產生 JWTs Bcryptjs 密碼加密 Zod 驗證使用者的輸入 Typegoose 使用 TypeScript 優化 Mongoose 模型 Dotenv 讀取環境變數 Cors 允許資料能在前端與後端之間分享 lodash 對 JavaScript 的功能擴充 ts-node-dev 當檔案變更時自動重啟 ...
當我開始完善各個功能時,就發現回傳 view 所需要的函式不只有 render,在某些時候還是要使用 redirect,而當這樣會有兩種格式要回傳時,我就會建立 Response Object 來制定回傳的格式,並且在 route.base 中就要多一個專門處理 redirect 的函式。 當這些都完成後,就可以開始實作網頁的功能了,在這篇文章裡我會實作 MenuItem 的 CRUD。 Github:et860525/restaurant-management ...