gpt4 book ai didi

node.js - Fastify Typescript 请求查询

转载 作者:行者123 更新时间:2023-12-04 17:18:59 25 4
gpt4 key购买 nike

我正在尝试按照此处的 Fastify with Typescript 文档组合一个简单的端点:
https://www.fastify.io/docs/v3.1.x/TypeScript/

export default async function foo(fastify: any) {
const MyInstance = new Foo(fastify.db);
app.get<{ Querystring: IQueryString, Headers: IHeaders }>(
"/foo",
async (request: FastifyRequest, reply: FastifyReply) => {
console.log(request.query); // *prints query object*
const { queryObj } = request.query; // *Gives error: Object is of type 'unknown'*
const result = await MyInstance.getFoo(queryObj);
reply.status(200).send(result);
}
);
}
为什么我在尝试访问 request.query 时会收到错误消息对象以及如何修复它?

最佳答案

默认 FastifyRequest.query的类型 RequestQuerystringDefault映射到 unknown因为人们无法猜测您要为其设置哪些属性/类型。
您是否应该为 query 定义类型一些请求,只需定义 request type并使用它:

type MyRequest = FastifyRequest<{
Querystring: { queryObj: MyQueryObject }
}>
然后将其指定为预期的请求类型:
 async (request: MyRequest, reply: FastifyReply) => {
const { queryObj } = request.query // Ok
}

关于node.js - Fastify Typescript 请求查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67288886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com