@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"
}
更多
你可能也喜欢
- @0x/contracts-integrations 中文文档教程
- @0x4447/grapes 中文文档教程
- @21epub/react-rxjs-store 中文文档教程
- @3kles/kles-mi-service 中文文档教程
- @4leaf.njm/react-quill 中文文档教程
- @aaronxyliu/ftfixer 中文文档教程
- @achil/react-infinite-scroll-component 中文文档教程
- @acorex/core 中文文档教程
- @acpaas-ui/js-notification-store 中文文档教程
- @across-protocol/contracts 中文文档教程