ei!
por que não alterar o corpo da solicitação para T? dessa forma posso ter certeza do que meu objeto contém.
na linha 438 do express-serve-static-core/index.d.ts:
interface Request<T> extends http.IncomingMessage, Express.Request {
...
...
body: T
...
...
e eu uso assim:
updateUser = (req: Request<User>, res: Response, next: NextFunction) => {
const userToUpdate = req.body;
...
...
}
Concordo, isso deve ser alterado para pessoas que desejam digitar seu corpo de solicitação, o mesmo deve se aplicar a cookies
, params
, query
, @borisyankov o que você acha?
Eu não odeio essa ideia, mas ao mesmo tempo há esse problema de types/express que explica que body
foi deixado de fora por um motivo. Essa razão é que body
não existe no objeto Express Request nativamente, mas é adicionado por causa do body-parser.
Infelizmente, a versão Definitivamente Typed do body-parser não funciona com a solução que eles propuseram. Portanto, o corpo precisa ser adicionado aqui ou o DefinedTyped/body-parser precisa ser atualizado.
Faz sentido, também acho que existe uma maneira de incluir esse recurso sem interromper as alterações usando genéricos padrão, ex:
interfare Request<B = any, Q = any, P = any, C = any> {
body: B;
query: Q;
params: P;
cookies: C;
}
Comentários muito úteis
Faz sentido, também acho que existe uma maneira de incluir esse recurso sem interromper as alterações usando genéricos padrão, ex: