¡Hola!
¿Por qué no cambiar el cuerpo de la Solicitud a T? de esa manera puedo estar seguro de lo que contiene mi objeto.
en express-serve-static-core/index.d.ts línea 438:
interface Request<T> extends http.IncomingMessage, Express.Request {
...
...
body: T
...
...
y lo uso así:
updateUser = (req: Request<User>, res: Response, next: NextFunction) => {
const userToUpdate = req.body;
...
...
}
De acuerdo, esto debe cambiarse para las personas que desean escribir el cuerpo de su solicitud, lo mismo debe aplicarse a cookies
, params
, query
, @borisyankov , ¿qué opinas?
No odio esta idea, pero al mismo tiempo existe este problema de types/express que explica que body
se omitió por una razón. Esa razón es que body
no existe en el objeto Express Request de forma nativa, sino que se agrega debido al analizador de cuerpo.
Desafortunadamente, la versión DefinitelyTyped de body-parser no funciona con la solución que propusieron. Por lo tanto, se debe agregar el cuerpo aquí, o se debe actualizar DefinitelyTyped/body-parser.
Tiene sentido, también creo que hay una manera de incluir esta función sin interrumpir los cambios mediante el uso de genéricos predeterminados, por ejemplo:
interfare Request<B = any, Q = any, P = any, C = any> {
body: B;
query: Q;
params: P;
cookies: C;
}
Comentario más útil
Tiene sentido, también creo que hay una manera de incluir esta función sin interrumpir los cambios mediante el uso de genéricos predeterminados, por ejemplo: