我正在构建一个 API,并且正在研究从数据库中查找条目的路线。 主路线到支路线是
/api/v1/entries/
我想从这里转到两种不同的路线,一种是通过“user_id
”获取用户的条目,一种是通过“date
”获取特定日期的条目
我知道我是否会将路线写为
router.get("/:user_id", getEntriesOfUser);
router.get("/:date", getEntriesOfDate);
它总是走第一条路线,所以我尝试的是
router.get("/user/:user_id", getEntriesOfUser);
router.get("/date/:date", getEntriesOfDate);
上面的方法对我有用,但我发现它很混乱,因为我必须使用“
/user
”作为中间路径,因为我的 API 中也有一个路径 /users/user/:id
路径。
另外我不想在 user
路线中使用 entries
。
有什么办法可以作为第一种方法吗?
有一个例子:
const express = require('express');
const router = express.Router();
// Define the route to fetch entries
router.get("/", (req, res) => {
const userId = req.query.user_id;
const date = req.query.date;
if (userId) {
// Logic: Fetch entries based on userId
return res.json({ message: `Fetching entries for user ID: ${userId}` });
} else if (date) {
// Logic: Fetch entries based on date
return res.json({ message: `Fetching entries for date: ${date}` });
} else {
return res.status(400).json({ error: "Please provide a user_id or date." });
}
});
module.exports = router;
GET /api/v1/entries?user_id=123
GET /api/v1/entries?date=2024-08-25