es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El argumento del tipo ‘ParsedQs’ no es asignable al parámetro del tipo XXXX.

Aquí tengo una función y una interfaz que describe su único argumento:

interface SomeInterface {
field1: string;
field2: string;
}

function makeData(data: SomeInterface): Promise {
return Promise.resolve(data)
}

Esta función se usa en una aplicación express como un controlador:

router.get(‘/file’, (req, res) => {
makeData(req.query).then(data => res.status(200).send(data))
})

TypeScript subraya req.query cuando se pasa en makeData y dice:

Argumento de tipo ‘ParsedQs’ no es asignable al parámetro de tipo SomeInterface

¿Cómo puedo solucionar esto?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Puede solucionar esto asegurándose de que el objeto req.query tenga los mismos campos que la interface SomeInterface. Puede hacerlo cambiando el objeto req.query para que coincida con la interface o creando un nuevo objeto que tenga los mismos campos que la interface y pasándolo en lugar de makeData().

Comments are closed.