【发布时间】:2020-07-12 17:11:52
【问题描述】:
我刚刚开始使用 Typescript 进入 Fastify 并非常享受它。
但是,我正在尝试确定是否可以键入响应负载。我有 response schema for serialization 工作,这可能就足够了,但我有内部类型的对象(例如 IUser),最好让 Typescript 对其进行检查。
下面的效果很好,但我想返回一个 TUser 例如,如果我返回不同的东西,我有打字稿。使用模式只是排除字段。
interface IUser {
firstname: string,
lastname: string
} // Not in use in example
interface IUserRequest extends RequestGenericInterface {
Params: { username: string };
}
const getUserHandler = async (
req: FastifyRequest<IUserRequest, RawServerBase, IncomingMessage | Http2ServerRequest>
) => {
const { username } = req.params;
return { ... }; // Would like to return instance of IUser
};
app.get<IUserRequest>('/:username', { schema }, helloWorldHandler);
我可以为响应扩展一个等效的 RequestGenericInterface 吗?
小更新:似乎reply.send() 可以用来添加类型,但为了自我说明,提供更高的 T 会很好。
【问题讨论】:
标签: node.js typescript fastify