Retour à la leçonMission
Mission : un userId qui disparaît dans un router imbriqué
Diagnostiquer la perte silencieuse d'un paramètre parent dans un router imbriqué, puis factoriser une validation répétée avec router.param.
Contexte
L'API structure ses routes en /users/:userId/orders, avec un router ordersRouter séparé monté sur ce préfixe. Sur GET /users/42/orders, la réponse renvoie {"userId": undefined, "orders": [...]}" au lieu de {"userId": "42", ...}. Par ailleurs, six routes différentes commencent chacune par recharger l'utilisateur en base via db.users.findById(req.params.userId) avant de vérifier s'il existe, un code identique répété à chaque fois.