學習 NESTJS feat Part 11 ===  --- ###### tags: `Nestjs`,`TypeScript`,`TypeORM`,`Project`,`Serialize` <br> 上個章節完成了從Console log 裏看到Request經過管道的時候取到值。 那現在就來“焊接”整個正常使用的通道吧! ### 創建新的 UserDTO 開始一個新的dto在 檔案 dtos > User.dto.ts 這一步是爲了Find而做設定的,未來如果想要客制化和新增每一個request都用不一樣的DTO而設計。  其實這裏并沒有什麽秘訣和較難理解的東西。設立DTO是爲了要用它來做顯示和過篩Expose通過的值。 *** ### 完成 SerializeInterceptor  這裏拿掉了所有的 consolelog,然後把DTO 改成props types 的 DTO。 先設立了門檻,然後輪到Data,再來就是 excludeExtraneousValues = true. #### excludeExtraneousValues 當從一個值對象轉換類的時候,用來標識無關的屬性,這同時也適用在有的屬性在類中沒有的,要不要排除在外,但這裏需在類的屬性上加 @Expose() 或 @Exclude() 裝飾器。 *** ### 最後回到 UserController   先導入 UserDTO ,然後到findUser 的 通道設立為全新的通道。 @UseInterceptors( new SerializeInterceptor(UserDTO)) 修改以上這一行就好了。 這裏的 Interceptor 會追尋 UserDTO 的格式去限制findUser這個 request。 讓我們來看看結果。  我們這裏顯示id 和 email,如果我們再新增一個password。   密碼就出現了。   如果把密碼做Exclude,密碼就不會做顯示了。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up