问题标签 [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.

0 投票
1 回答
90 浏览

typescript - 如何从类属性(将类作为参数传递后)获取计算属性名称的文字类型?

刚才我问了这个问题,现在我有一个跟进:)

请考虑以下代码:

TS 将数据识别为以下类型:

我想让 TS 知道 data 有一个属性 books

可能吗?

0 投票
0 回答
155 浏览

class-validator - 类验证器:验证子类型:拒绝无效的鉴别器值,避免查看数组内部

class-validator在验证子类型时如何变得更严格 - 具体来说,拒绝无效的鉴别器值,而不是自动查看数组内部?

考虑以下代码:

在 (3) 中,似乎对传递class-validator的无效字段非常满意。type也许它实际上class-transformer应该被扔在这里?

在(4)中,我实际上很惊讶这没有任何问题。我可以强制class-validator/class-transformer不自动验证每个数组元素,就好像它是一个Base

0 投票
1 回答
197 浏览

typescript - 如何排除类字段被继承或以某种方式覆盖它?

我有一个数据库模型(Mongo)和一个 API 模型(Apollo)。除了从字符串解析为对象的“开始”字段外,这两者是相同的。如何排除“开始”字段被继承或以某种方式覆盖它?

0 投票
1 回答
1515 浏览

typescript - 自定义对象验证在 Nestjs DTO 中不起作用

NestJs DTO 无法正确验证对象

DTO 类 在此处输入图像描述

控制器类

在此处输入图像描述

main.ts 我也尝试添加{ whitelist: true } 和 {forbidNonWhitelisted: true } 和 { whitelist: true, forbidNonWhitelisted: true }但没有运气

在此处输入图像描述

这就是我调用 API 的方式,这种类型的响应还可以

在此处输入图像描述

如果我传递了错误的属性,它不会引发错误……这就是问题所在,它应该只有在我传递有效属性时才能工作。 在此处输入图像描述

谢谢。

0 投票
1 回答
376 浏览

nestjs - 使用类转换器将字符串化的 JSON 转换为对象

有一个nest.js 项目,在请求正文中我们期望一个对象,该对象的一个​​属性包含字符串化的JSON 值。想法是将此字符串转换为对象,对其进行验证并作为对象 ValidationPipe 设置传递给控制器​​:

DTO:

parseJson 函数

由于某些原因,在控制器中解析的值丢失了,我们收到了一个空对象。

0 投票
1 回答
66 浏览

nestjs - Nestjs 将 JSON arra 转换为字符串 []

我有以下获取请求:
/api?entitiesText=["america", "americans"]&phrasesText=["a month-long effort"]

我想转换entitiesText并:phrasesTextstring[]

这是方法:

现在我得到它们string而不是string[]

0 投票
2 回答
440 浏览

typescript - 类转换器的“排除”装饰器不排除 NestJS 中的属性

我试图在 NestJS 的实体中排除一个属性,但不幸的是它似乎没有排除它,当我提出请求时,它包含了该属性

代码:

src/transform.interceptor.ts

src/task.service.ts(相关方法)

src/tasks.controller.ts

@omidh 回答后的 main.ts 文件,不幸的是似乎不起作用

我在这里做错了吗?

0 投票
0 回答
90 浏览

node.js - 巢穴。ValidationPipe 不处理复合对象

当 body 由几个模型/DTO 组合时,微服务很常见,例如,我在我的 API 网关中接收 Foo DTO,然后将其与 User 对象一起发送到微服务。就我而言,Foo DTO 中的 @Transform 装饰器不起作用。但如果 body 只是 Foo,它就可以工作。

定义了所有类型 User 和 Foo ,那么为什么 ValidationPipe 会通过这个转换呢?

0 投票
0 回答
98 浏览

node.js - @Exclude 装饰器不适用于 POST 方法,但适用于 GET 方法

我正在做一个nestjs应用程序,在postgress中使用typeorm

我试图在我的 JSON 返回中排除passwordaccessToken列,但是在创建新用户时它不起作用。我尝试使用@UseInterceptors(ClassSerializerInterceptor),但没有奏效。

这是我的代码片段。

用户实体.ts

用户控制器.ts

用户服务.ts

main.ts

如果我错过了什么或做错了什么,请告诉我

0 投票
1 回答
385 浏览

node.js - NestJS 类转换器忽略 TypeORM-Entity 上的 Declorators

我正在尝试在 NestJS 项目中的 TypeORM-Entity 上使用 classToPlain,而类 Transformer 只是忽略了 @Exclude Declorator。以下是我的一些代码片段:

用户实体

用户服务

users.controller

我以前既没有使用过 NestJS、TypeORM,也没有使用过 class-transformer,所以我真的不知道发生了什么。

提前致谢和亲切的问候。