node.js - 如何从控制器 JSON 返回的实体字段中排除。NestJS + Typeorm
问题描述
我想从返回的 JSON 中排除密码字段。我正在使用 NestJS 和 Typeorm。
在这个问题上提供的解决方案对我或 NestJS 都不起作用。如果需要,我可以发布我的代码。还有其他想法或解决方案吗?谢谢。
解决方案
我建议创建一个利用类转换器库的拦截器:
@Injectable()
export class TransformInterceptor implements NestInterceptor {
intercept(
context: ExecutionContext,
call$: Observable<any>,
): Observable<any> {
return call$.pipe(map(data => classToPlain(data)));
}
}
然后,只需使用@Exclude()
装饰器排除属性,例如:
import { Exclude } from 'class-transformer';
export class User {
id: number;
email: string;
@Exclude()
password: string;
}
推荐阅读
- php - 将 startDatetime 和 endDatetime 与 DB 表的 startDatetime 和 endDatetime 进行比较
- python - 如何使用 Python 读取多个文件夹中的文件
- apache-camel - Camel:从另一个路由调用一个路由并同步返回响应
- c++ - 无限循环中的返回值
- java - POJO for rest获取调用以在java中返回嵌套的复杂json
- python-2.7 - 包装模块的每个类的每个函数
- flutter - 在这种特殊情况下,当我点击它时如何让 _card 打开一个新的路线/页面?
- java - 如何将字符串日期转换为 ISO 日期格式日期
- sql - 为什么“where”语句似乎过滤了 SAS proc SQL 中的预期行?
- javascript - 上传到 Cloudinary 时如何修复 CORS 阻止错误