我希望配置基于节点的 API 后端,将所有日期类型序列化为纪元毫秒而不是 ISO。
例如,如果我有以下界面:
export interface Profile {
updatedAt: Date;
updatedBy: string;
}
当我将结构返回给客户端时:
return res.status(OK).json(myProfile);
我收到以下回复:
"updatedAt": "2021-06-08T17:06:44.412Z",
"updatedBy": "825e9b827ce329a7ddc8fbdc3f714cbd1c239182"
我希望收到:
"updatedAt": 1623172004412,
"updatedBy": "825e9b827ce329a7ddc8fbdc3f714cbd1c239182"
并为我的所有端点全局执行一次 有什么想法吗?
答案 0 :(得分:2)
要对任何字段、任何对象执行此操作,您可以定义一个新函数:
app.use((req, res, next) => {
const originalSON = res.json
res.json = (status, data) => {
originalSON.call(res, customJSON(data));
}
next();
});
然后在 Express 中将此函数注册为中间件:
return res.status(OK).json(myProfile);
这应该不需要更改您的呼叫站点:
Cloning into...