Definitelytyped: @types/ekspres objek tubuh permintaan ke T (generik)

Dibuat pada 5 Jun 2017  ·  3Komentar  ·  Sumber: DefinitelyTyped/DefinitelyTyped

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;
...
...
}

Komentar yang paling membantu

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;
}

Semua 3 komentar

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;
}
Apakah halaman ini membantu?
0 / 5 - 0 peringkat