Definitelytyped: Объект тела запроса @types/express для T (общий)

Созданный на 5 июн. 2017  ·  3Комментарии  ·  Источник: DefinitelyTyped/DefinitelyTyped

Привет!

почему бы не изменить тело запроса на T? таким образом я могу быть уверен, что содержит мой объект.

в строке express-serve-static-core/index.d.ts 438:

interface Request<T> extends http.IncomingMessage, Express.Request {
...
...
body: T
...
...

и я использую это так:

updateUser = (req: Request<User>, res: Response, next: NextFunction) => {
   const userToUpdate = req.body;
...
...
}

Самый полезный комментарий

Имеет смысл, также я думаю, что есть способ включить эту функцию, не нарушая изменений, используя дженерики по умолчанию, например:

interfare Request<B = any, Q = any, P = any, C = any> {
  body: B;
  query: Q;
  params: P;
  cookies: C;
}

Все 3 Комментарий

Согласен, это должно быть изменено для людей, которые хотят ввести текст своего запроса, то же самое должно относиться к cookies , params , query , @borisyankov , что вы думаете?

Я не ненавижу эту идею, но в то же время есть проблема с types/express, которая объясняет, что body было опущено по какой-то причине. Причина в том, что body изначально не существует в объекте экспресс-запроса, а добавляется из-за анализатора тела.

К сожалению, версия body-parser DefinitelyTyped не работает с предложенным обходным путем. Таким образом, либо здесь нужно добавить тело, либо нужно обновить DefinitelyTyped/body-parser.

Имеет смысл, также я думаю, что есть способ включить эту функцию, не нарушая изменений, используя дженерики по умолчанию, например:

interfare Request<B = any, Q = any, P = any, C = any> {
  body: B;
  query: Q;
  params: P;
  cookies: C;
}
Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

fasatrix picture fasatrix  ·  3Комментарии

Zzzen picture Zzzen  ·  3Комментарии

victor-guoyu picture victor-guoyu  ·  3Комментарии

alisabzevari picture alisabzevari  ·  3Комментарии

jbreckmckye picture jbreckmckye  ·  3Комментарии