Noté que el tipo de parámetros de consulta en req.query es
string | string[] | QueryString.ParsedQS | QueryString.ParsedQS[]
pero hasta ahora, cada vez que usé req.query siempre obtuve cadenas.
mis preguntas son
El tipo string | string[] | QueryString.ParsedQS | QueryString.ParsedQS[]
es el tipo devuelto por el método qs.parse()
, eche un vistazo aquí al archivo de declaración: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/qs/index.d. ts#L57 .
Eche un vistazo a la documentación de qs para ver los posibles valores de retorno de qs.parse()
:
https://github.com/ljharb/qs
Para que req.query
se analice de cadena a objeto, debe llamar a express app.set('query parser', 'extended')
, extended es el valor predeterminado, pero es posible que lo haya cambiado en su código:
https://expressjs.com/en/api.html#app.set