NestJS swagger(带插件)在使用管道操作符时不拾取DTO

laawzig2  于 2023-11-18  发布在  其他
关注(0)|答案(1)|浏览(166)

我使用nestjs和swagger插件,并配置了nestjs。我所有的DTO和它们的属性都很好,直到我引用下面的任何DTO。

data?:
   GetAbcResponseDto
   | GetXycResponseDto

字符串
因此,当管道操作符存在时,Dto对象不会作为模式对象被拾取,也不会使用引用路径进行解析。
有办法解决吗

sxissh06

sxissh061#

这是Typescript的反射API的一个问题。这本质上是一个联合类型,可以被类型化为Union<GetAbcReponseDto, GetXycResponseDto>。Typescript不能正确地反射泛型,因此Nest无法读取元数据类型是什么,并正确地访问它的管道。如果你需要能够处理两个类型,你最好的选择是使用自定义管道。

相关问题