问题标签 [class-transformer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
class-transformer - 为什么 plainToClass 不会抛出无效的输入类型
例子:
然后result
是输入字符串'not a class'
!
我希望plainToClass
:
Test
返回所有属性未定义的类型实例,或- 抛出异常
这是一个错误还是我错过了什么?
我还发现无法按预期进行这项工作。
现在的解决方法是显式类型检查并输入我自己的代码:
node.js - 如何在类验证器和类转换器中验证和转换数字数组或数字数组
我有需要验证和转换数字数组或数字数组数组的值联合类型的情况。我试过在下面使用鉴别器,但它对非对象类型没有意义。坐标应该能够包含Array<number> | Array<Array<number>>
.
知道如何在类验证器和类转换器中实现这一点吗?
typescript - plainToClass 不会将日期转换为字符串
根据文档,Date
对象应转换为string
:
请注意,当您尝试将类对象转换为普通对象时,日期将被转换为字符串。
我的带有类转换0.2.3
器的示例代码无法按预期工作:
这会打印object
到控制台,但我希望string
.
我错过了什么?
typescript - 在 TypeScript 和 NestS 中将类转换为类/对象(实体到 DTO)
如何转换数据库实体User
:
进入 DTO 实体GetUserDTO
:
在打字稿中?我正在使用@nestjs
,class-validator
和class-transformer
包,但我没有找到任何方法来使用它们来实现这一点。
有人可能会说,拥有 DTO 对此毫无意义,但我们在服务器和客户端之间共享 DTO 以维护 API 结构。
有任何想法吗?
javascript - Nestjs graphql 场守卫
我正在尝试为 graphql 领域做角色保护。像这样的东西:
目标是,如果用户没有所需的角色,则该字段将被发送到带有null
值的客户端。
我发现我应该使用class-transformer,但我还没有找到任何 Nestjs 的例子。我还查看了nestjs 文档,但只有内置装饰器的示例,它们没有用于ObjectType
.
我会使用授权装饰器,但我需要访问 nestjs 上下文来获取 userId,但我还没有找到方法。
你现在有一些例子或方法吗?
nestjs - 如果为假,则转换值
我正在使用class-validator包验证我的 DTO。我通过
在我的 main.ts 文件中,如文档中所述
https://docs.nestjs.com/techniques/validation#transform-payload-objects
我的 DTO 中有一个可选的配置字段。如果该字段不存在,则应将其转换为空对象。这里描述了转换装饰器
https://docs.nestjs.com/techniques/serialization#transform
我希望提出这个解决方案:
当我调用我的 API 路由时
有一个空的身体,所以没有这个领域configuration
我的MyDTO
实例是
虽然我希望它是
有什么问题或我错过了什么?我尝试调试代码,但它从未达到转换功能。所以@Transform
不会触发。
更新
看来我必须这样做
如果您传入一个空正文,则将使用初始值。仅当您传入该字段但为其分配一个类似的值时,转换才会运行null
。
javascript - 如何在 TypeScript 中使用“class-transformer”将 API 请求的响应转换为类实例?
我有Request(method: HttpMethod, url: string, ...)
调用 API 的正常方法。我正在使用打字稿。
我需要将此 API 请求的响应转换为有class-transformer
(或没有它:D)的类实例。
例子:
我知道我不能像这样使用泛型:
泛型不是那样工作的,但我可以这样做:
但这也行不通。我仍在user
输入:
我做错了什么?
node.js - 从 JSON 创建 TS 类实例时是否可以处理未知属性?
在将普通对象从 JSON 转换为类实例时,我需要一种方法来捕获没有相应类属性的所有属性并将它们存储在某个位置(以下示例中的附加数据)。
我查看了一些库(class-transformer、marshal.ts、TypedJSON),但似乎没有办法做我想做的事。
下面是我想要实现的假设示例(它使用类转换器,但任何其他反序列化器库都可以为我工作)
这是我希望此脚本输出的内容:
typescript - 类验证器是如何工作的?
我有带有服务器和客户端的 NestJs 的应用程序,在服务器端我ValidationPipe
在 DTO 类上使用和使用装饰器,例如
一切正常,但是在客户端我不能使用带有装饰器的类(它的严格规则),我只需要像这样使用它type
,-const search: SearchDto = await...
class-validator
( class-transformer
) 在没有结束的情况下如何工作ValidationPipe
?它是像在服务器端一样包装还是完全忽略?它会调用__decorate
并将其放入 js 包中吗?
否则我需要编写这样的接口
感谢帮助