ChrisV5
V2EX  ›  Node.js

Nestjs 有一点不解

  •  
  •   ChrisV5 · Jul 14, 2020 · 4097 views
    This topic created in 2307 days ago, the information mentioned may be changed or developed.

    官方例子在 controller 里面给 Service 传了一个 DTO.

    this.catsService.create(createCatDto)
    

    但是 service 里面的定义是

    import { Cat } from './interfaces/cat.interface';
    create(cat: Cat): void
    

    这个类型检查能过去???

    6 replies  •  2020-07-16 09:41:35 +08:00
    ChevalierLxc
    ChevalierLxc
    Jul 14, 2020
    1
    Dto 和 Cat 字段一致为什么不过?
    ChrisV5
    ChrisV5
    OP
    Jul 14, 2020
    2
    @ChevalierLxc 所以说 TypeScript 的类型不是真的类型了?
    Chikaku
    Chikaku
    Jul 14, 2020❤️1
    3
    TypeScript 使用的是 Structural Type System
    shakaraka
    shakaraka
    Jul 14, 2020
    4
    dto 不是有校验吗,你没写校验?
    ChrisV5
    ChrisV5
    OP
    Jul 14, 2020
    5
    @Chikaku 学到了。感谢。
    darknoll
    darknoll
    Jul 16, 2020
    6
    nest 能不能不用 ts 啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1438 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 16:12 · PVG 00:12 · LAX 08:12 · JFK 11:12
    ♥ Do have faith in what you're doing.