@0xc/transient 中文文档教程
@0xc/transient
这个包提供了一个 @transient
装饰器,类似于 Java 中的 transient
关键字。
使用本机 JSON.stringify(object)
时,使用 @transient
运算符标记类中的属性将忽略该属性的序列化。
如果您希望编辑通过网络传输的对象的属性,例如使用 fetch
和其他使用 JSON.stringify
的对象,这将很有用。
example
要开始使用 transient
装饰器,您可以从库中导入它:
import { transient } from "@0xc/transient";
export class UserDto {
public firstName: string;
public lastName: string;
public email: string;
@transient()
public password: string;
public static fromModel(userModel: UserModel): UserDto {
const userDto = new UserDto();
this.firstName = userModel.firstName;
this.lastName = userModel.lastName;
this.email = userModel.email;
this.password = userModel.password;
return userDto;
}
}
在这种情况下,我们有一个 User DTO,它在调用 userDto.toJSON()
。 也许这是使用后端服务,我们希望在将响应序列化回用户时不返回此字段。
app.get("/user", (req, res) => {
const userModel = UserRepository.findOne(req.session.id);
const userDto = UserDto.fromModel(userModel);
res.send(userDto);
});
Ta-da! 现在响应应该如下所示:
{
"firstName": "Ricky",
"lastName": "Bobby",
"email": "shake@bake.net"
}
更多
你可能也喜欢
- @1amageek/classy 中文文档教程
- @1hive/apps-brightid-register 中文文档教程
- @42px/matrix-effector 中文文档教程
- @4cadia/janus-indexer-core 中文文档教程
- @4ire-labs/blot.js 中文文档教程
- @abquintic/electron-plugins 中文文档教程
- @acentswap/utils-heini 中文文档教程
- @acknow-srl/ack-prints-client 中文文档教程
- @activfinancial/cg-api-fsbl 中文文档教程
- @adamsoffer/3box 中文文档教程