javascript - 在 Nodejs Express App Route 中不起作用
问题描述
我有一个 app.js 文件作为 -
const express = require('express');
const app = express();
const port = process.env.PORT || 8080;
const userRoute = require('./routes/user.route');
app.use('/user', userRoute);
app.listen(port, () => {
console.log(chalk.blue(`Express app listening at http://localhost:${port}`));
});
我的路线文件是 -
const express = require('express');
const router = express.Router();
const userController = require('../controllers/user.controller');
router.post('/:id', userController.userDetails);
router.post('/toggleActive', userController.toggleStatus);
module.exports = router;
我无法到达“/toggleActive”路径。
但是如果我将路由文件定义为 -
router.post('/toggleActive', userController.toggleStatus);
router.post('/:id', userController.userDetails);
module.exports = router;
然后一切正常。
解决方案
如果你定义这样的路线
router.post('/:id', userController.userDetails);
router.post('/toggleActive', userController.toggleStatus);
然后服务器将捕获通过 POST 发送到的所有内容,/user
因为:id
它是一个变量。它也可能是一个字符串“toggleActive”。你可以做这样的事情
router.post('/:id/toggleActive', userController.toggleStatus);
router.post('/:id', userController.userDetails);
推荐阅读
- react-native - 如何在功能组件中编写Animated.Value.addListener?
- python - flask ValueError:对已关闭文件的 I/O 操作
- javascript - (Vue.js)访问页面时如何更改“背景图像”
- google-app-engine - 如何降低 gcp 应用引擎部署中的费用?
- c - “void fatal(char *);”是什么意思?
- java - Swagger 递归解析类型的依赖关系(无限循环)
- mysql - MySQL“Invalid use of group function”错误——Hackerrank天气观察20
- python - 无法使用 selenium python 选择下拉值
- oauth-2.0 - zapier oauth2 为 access_token 提供错误
- postgresql - 在我的关系数据库中存储用户、角色和团队的哪种方法最有效