學習 NESTJS feat Part 5 === ![](https://i.imgur.com/1fldI8k.png) --- ###### tags: `Nestjs`,`TypeScript`,`TypeORM`,`Project` <br> ### 更深入地瞭解 Controller & Service & Repository ![](https://i.imgur.com/MjqHegZ.png) Controller: - 設立route,例如區分鏈接 - 接受不同的data來自各種POST/GET/PUT 去做管理 - 導入Service邏輯做最後執行 Services: - 實踐操作邏輯。 - 可以接受 Entity的格式或邏輯 Repository: - 會做最後的把關確認即將寫入DB的格式是否正確 - TypeORM執行的地方 ![](https://i.imgur.com/DhHMFbt.png) 回頭來看看這個table,我們會發現repo.create 是在APP裏操作,而 save(Repository) 則在Create,APP内部執行完畢之後,再寫道DB。 ### 爲什麽要用 Entity? 即使不使用Entity也可以直接以Body的POST,存入Save裏。 ![](https://i.imgur.com/CbHGhTl.png) 以這樣的方式其實也可以達到一樣的結果,這時候就回到標題的問題。 <br> ![](https://i.imgur.com/xSxIP4B.png) 在一個Table的情況下去做injection 其實會比只是單純把資料灌進去,并沒有使用Hook。 那要如何確保SQL有接好這樣的球呢?答案是沒有辦法。 所以在注入SQL前,都會建議**做好所有格式的編排**, 因爲經過了**編排**以後還要做**檢測是否符合所設定的格式**。