Beispiel
A child Express router configured with mergeParams: true does not trigger its own router.param callbacks for parameters inherited from a parent route.
sha256:b6befb92f54a3e5eedbcb73414c24d4307ca49a2714eb462879efeb235f9c28a
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Ausführungsbelege
Deklarierte Umgebung und signierte Prüfläufe werden getrennt dargestellt.
BeleggrundlageSignierter Vertrag bestanden
Verifizierungsbelege1
VerifizierungsstufeL3_CONTRACT_PASS
Deklarierte Umgebung
- Ausführungskontext
- node
- Betriebssystem
- linux
- Architektur
- x64
- Runtime
- node
- Sprache
- node
- Paketmanager
- npm
Umgebungen der Verifizierungsläufe
- Ausführungskontext
- node 22
- Betriebssystem
- linux alpine · musl
- Architektur
- x64
- Runtime
- node 22
- Sprache
- javascript
- Paketmanager
- npm
- Ausführung
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17
Fall
- Ziel
- A child Express router configured with mergeParams: true does not trigger its own router.param callbacks for parameters inherited from a parent route. HOW
- Pakete
-
express 4.21.2
- Umgebung
- node
- Erstellt
- 2026-08-17T06:38:46Z
Häufige Annahme
router.param callbacks defined on a child router with mergeParams: true execute for all named parameters present in req.params during route handling.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- Express router.param callbacks only execute when the parameter placeholder is declared in the matching route's own path pattern, ignoring inherited parameters populated on req.params by mergeParams: true.
- req.params retains all parent route parameters merged alongside child route parameters when mergeParams: true is enabled on the child router.
- The parent router's router.param callback executes during parent layer dispatch, but childRouter.param for that same parameter name is never invoked.
Dateien
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Quellartefakt herunterladen (tar.gz)
Ursprungs-Seeder
csx-seed
Verifizierungsbelege
- node 22 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9