我将typescript用于连接到mongodb的服务器。
我使用openapi文件严格定义输出。
在mongoose中,我非常熟悉如何定义日期,例如:
birthday: Date;现在用Typegoose:
@prop()
birthday: Date;到目前为止一切正常,除非我需要从我的express typescript服务器输出,例如:
public async generateLoginTokensAndHttpResponse (userDoc: User, req: any): Promise<Login> {
const renewalToken = JwtService.generateRenewalToken(userDoc);
await JwtRepository.createNewJwt(userDoc._id, renewalToken, req.clientIp, req.headers['user-agent']);
return {
tokenAccess: {
value: JwtService.generateAccessToken(userDoc),
},
tokenRenewal: {
value: renewalToken,
},
user: userDoc,
};
}其中"Login“界面如下所示(基于swagger定义生成):
export default interface Login {
user: {
verified: boolean;
email: string;
firstName: string;
lastName: string;
username: string;
captchaLocked: boolean;
birthday?: string;
};
tokenAccess: { value: string };
tokenRenewal: { value: string };
}如果我将birthday?: string;更改为birthday?: Date;,这是可以的,但是这会破坏swagger定义的预期输出:
type: string
format: date-time迭代所有对象,调用一个函数将所有date对象转换为date-time字符串,代价会很高。
这里的最佳实践是什么?
发布于 2019-12-01 03:05:32
我建议使用JSON.stringify / JSON.parse,它可以将日期从字符串转换为字符串
https://stackoverflow.com/questions/58052463
复制相似问题