我使用nestjs和swagger插件,并配置了nestjs。我所有的DTO和它们的属性都很好,直到我引用下面的任何DTO。
data?: GetAbcResponseDto | GetXycResponseDto
字符串因此,当管道操作符存在时,Dto对象不会作为模式对象被拾取,也不会使用引用路径进行解析。有办法解决吗
sxissh061#
这是Typescript的反射API的一个问题。这本质上是一个联合类型,可以被类型化为Union<GetAbcReponseDto, GetXycResponseDto>。Typescript不能正确地反射泛型,因此Nest无法读取元数据类型是什么,并正确地访问它的管道。如果你需要能够处理两个类型,你最好的选择是使用自定义管道。
Union<GetAbcReponseDto, GetXycResponseDto>
1条答案
按热度按时间sxissh061#
这是Typescript的反射API的一个问题。这本质上是一个联合类型,可以被类型化为
Union<GetAbcReponseDto, GetXycResponseDto>
。Typescript不能正确地反射泛型,因此Nest无法读取元数据类型是什么,并正确地访问它的管道。如果你需要能够处理两个类型,你最好的选择是使用自定义管道。