2016-02-12 49 views
0

在典型的MEAN堆棧應用程序中,服務器端具有Model,View和Controller,其中Model代表貓鼬模型。假設應用程序不直接訪問數據庫,而是通過RESTful API訪問數據庫,在這種情況下是否有任何模型表示?如果是,那麼模型表示是什麼?Node/Express中的模型

回答

0

當我們使用貓鼬進行某種操作時,有各種各樣的進程依次運行。調用靜態,方法,數據驗證,預保存鉤子是其中的一部分。現在,對於訪問數據庫的REST API,有許多方法可以創建這些過程。

比方說,我們是在做用戶操作 -

  1. 創建可以使用驗證,如validator.js
  2. 創建在方法驗證特定用戶(req.body)的所有數據的服務服務,它可以作爲靜態或方法與它們在貓鼬模型中創建的相同
  3. 在通過REST API發送數據之前,您還可以創建預保存鉤子(始終調用的方法,如散列密碼)

可以通過在路由中間件中按順序調用它們來創建多個服務,以便在必要時以非常好的方式驗證和修改數據。

例如 -

router.post('/users', [ 
    RestService.getUserById, 
    UserService.checkForDuplicateUser, 
    UserService.validateData, 
    UserService.preSaveHook, 
    RestService.saveUser 
]); 
以這種方式,可以創建一個模型表示

左右。

+0

你是指整個代碼'router.post()'作爲模型表示嗎?它似乎更多的是一個路由配置給我。 – desmondlee