Node.js 如果else无法键入签入类型脚本

Node.js 如果else无法键入签入类型脚本,node.js,typescript,Node.js,Typescript,我正在用Typescript编写一个API,但是我得到了一个错误属性“password”在类型“unknown”上不存在,尽管进行了if检查 另外,request.body的类型未知 如何正确地进行打字检查?我已经可以看到request.body==未定义的情况,这是Typescript的问题吗?请参阅有关如何在Fastify中指定body类型和预期查询参数等的文档: 您需要将参数传递给FastifyRequest泛型类型,如下所示: 异步请求:FastfyRequest,回复:FastfyRe

我正在用Typescript编写一个API,但是我得到了一个错误属性“password”在类型“unknown”上不存在,尽管进行了if检查

另外,request.body的类型未知


如何正确地进行打字检查?我已经可以看到request.body==未定义的情况,这是Typescript的问题吗?

请参阅有关如何在Fastify中指定body类型和预期查询参数等的文档:

您需要将参数传递给FastifyRequest泛型类型,如下所示:

异步请求:FastfyRequest,回复:FastfyReply
请参阅有关如何在Fastify中指定主体类型和预期查询参数等的文档:

您需要将参数传递给FastifyRequest泛型类型,如下所示:

异步请求:FastfyRequest,回复:FastfyReply
什么类型的禁食请求?请用它更新您的问题。@NicolaMaties根据错误消息,它是未知的。@VLAZ,它的未知数是request.body,而不是'request.@ShivamSingla oops,您是对的。我刚刚更新了问题中的类型FastifyRequest的类型是什么?请用它更新您的问题。@NicolaMaties根据错误消息,它是未知的。@VLAZ,它的未知数是request.body,而不是'request.@ShivamSingla oops,您是对的。我刚刚更新了我问题中的类型
  login: async (request: FastifyRequest, reply: FastifyReply) => {
    if(!request.body){
      reply.code(400).send({
        message: "Missing request body"
      })
      return
    }

    const { username, password } = request.body

    if(!username || !password){
      reply.code(400).send({
        message: "Missing username or password"
      })
      return
    }