I created a Nested Route structure with Express.js. There is a house
route. This route has a subroute ages
. I have defined a GET request function for ages
. Of course, I determined this route in functions such as POST and PATCH according to different requests. But only GET request is not triggered for this route. No matter what I did, it didn’t work. Maybe I should think more simply, but I’ve been trying to figure this out for a few hours. I don’t know how to search for this on Google. Also GPTs didn’t find a solution either. Where exactly is the problem?
index.js file
const express = require("express");
const router = express.Router();
const houseRouter = require("./house");
router.use("/house", houseRouter);
module.exports = router;
house.js file
const express = require("express");
const router = express.Router();
const ageRouter = require("./ages");
router.use("/ages", ageRouter);
module.exports = router;
ages.js file
const express = require("express");
const router = express.Router();
router.get("/", listAges); //not triggered
router.post("/", addAge); //triggered
router.get("/:id", getAge); //triggered
router.patch("/:id", updateAge); //triggered
router.delete("/:id", deleteAge); //triggered
async function addAge(req, res, next) { //working
console.log('add age function')
res.json({success:true});
}
async function listAges(req, res, next) { // not triggered
console.log('list ages function')
res.json({success:true});
}
function getAge(req, res, next) { //working
console.log('get age function')
res.json({success:true});
}
function updateAge(req, res, next) { //working
console.log('update age function')
res.json({success:true});
}
function deleteAge(req, res, next) { //working
console.log('delete age function')
res.json({success:true});
}
module.exports = router;
router.get("/", listAges);
– not triggered. stuck on pending
router.post("/", addAge);
– triggered – working
router.get("/:id", getAge);
– triggered – working
router.patch("/:id", updateAge);
– triggered – working
router.delete("/:id", deleteAge);
– triggered – working