Express Запросить .query.xyz как строку | строка [] - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь присвоить моей переменной тип, значение которого будет получено из express 'Запросить запрос. Req.query имеет тип "QueryString.ParsedQs" и, например, req.query.accountId имеет тип "string | QueryString.ParsedQs | string [] | QueryString.ParsedQs []"

Как я мог извлечь значение из req.query.accountId всегда иметь тип string?

Пример кода:

import { Request, Response } from "@feathersjs/express";
class Xyz {
    public myMethod( req: Request, res: Response ){
        const accountId =req.query.accountId;/* type is "string | QueryString.ParsedQs | string[] | QueryString.ParsedQs[]"*/
    }
}

1 Ответ

0 голосов
/ 26 мая 2020

Вы можете проверить, прошла ли ‛строка‛:

if (typeof accounId === 'string')  {
  // do stuff
}

Или преобразовать ее (настоятельно, я бы не рекомендовал) ее в строку:

accountId = String(req.query.accountId);
// Or shorter
accountId = '' + req.query.accountId;

Если хотя до преобразования это не была строка, вы получите что-то вроде ‛[Object array]‛

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...