hei!
mengapa tidak mengubah isi Permintaan menjadi T? dengan begitu saya bisa yakin apa isi objek saya.
di express-serve-static-core/index.d.ts baris 438:
interface Request<T> extends http.IncomingMessage, Express.Request {
...
...
body: T
...
...
dan saya menggunakannya seperti ini:
updateUser = (req: Request<User>, res: Response, next: NextFunction) => {
const userToUpdate = req.body;
...
...
}
Setuju, ini harus diubah untuk orang-orang yang ingin mengetikkan badan Permintaan mereka, hal yang sama harus berlaku untuk cookies
, params
, query
, @borisyankov bagaimana menurut Anda?
Saya tidak membenci ide ini, tetapi pada saat yang sama ada masalah dari types/express yang menjelaskan bahwa body
ditinggalkan karena suatu alasan. Alasannya karena body
tidak ada pada objek Permintaan Ekspres secara asli, melainkan ditambahkan karena body-parser.
Sayangnya body-parser versi PastiTyped tidak bekerja dengan solusi yang mereka usulkan. Jadi salah satu badan perlu ditambahkan di sini, atau PastiTyped/body-parser perlu diperbarui.
Masuk akal, juga saya pikir ada cara untuk memasukkan fitur ini tanpa merusak perubahan dengan menggunakan obat generik default, mis:
interfare Request<B = any, Q = any, P = any, C = any> {
body: B;
query: Q;
params: P;
cookies: C;
}
Komentar yang paling membantu
Masuk akal, juga saya pikir ada cara untuk memasukkan fitur ini tanpa merusak perubahan dengan menggunakan obat generik default, mis: