[英]How to register a user that can be of a number of types in nestjs?
情况很清楚。 我有一个用户,可以是战士、法官、位置提供者等。所有这些用户都有一些共同的道具,比如名字、名字、电话号码、email 等。有一个名为 RegisterBasicUserDto 的 dto 是合乎逻辑的所有这些道具。 现在我想在 RegisterFighterDto 上拥有与战斗机相关的道具,对于所有其他类型的用户也是如此。
然后我想使用nestjs swagger 和类验证器库。 问题是,令我惊讶的是,typescript 不允许多个 inheritance 和 swagger 装饰器不适用于从这些类型的用户继承所有必要类的属性,这意味着我无法将所有必要的类扩展为 RegisterUserD。 .
它迫使我将所有道具转储到单个 class 中,比如说 RegisterUserDto 并像这样使用它:
@Post('register')
public async registerUser(@Body() registerUserDto: RegisterUserDto): Promise<void> {}
我讨厌我必须将它们全部转储到我开始考虑为每种类型的用户制作单独的端点的想法。 即使这会导致代码重复......
也许你有更好的想法。 感谢您的帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.