【发布时间】:2019-01-13 11:02:40
【问题描述】:
我正在尝试直接从请求中访问路由,即使另一个子文件夹可以正常工作,而另一个不能。反复抛出 404 错误。 /api/getPostList 有效,但 /post/ 或 /post/:title 无效。
我已经重组了代码,尝试将其从获取请求更改为发布请求,添加 /post/:title 以访问单个帖子或不添加 / 以访问主列表。
Server.js 包含
app.use('/', Routes);
routes/index.js 包含
const router = require('express').Router();
const posts = require('./posts');
const api = require('./api');
router.use('/post', posts);
router.use('/api', api);
module.exports = router;
routes/api/index.js 包含
Api.get('/getPostList', (req, res) => {
PostModel.find(function (err, post) {
if (err) return console.log('error: ' + err);
return res.json({ postList: post});
});
console.log("Attempted to get post list on /getPost/ route: " + ++postRouteCnt);
});
Api.get('/getPost/:title', getPost);
module.exports = Api;
routes/post/index.js 包含
const Posts = require('express').Router();
const post = require('./post');
const PostModel = require('../../../server/models.js');
let postRouteCnt = 0;
Posts.get('/', (req, res) => {
PostModel.find(function (err, post) {
if (err) return console.log('error: ' + err);
return res.json({ postList: post});
});
console.log("Attempted to get post list on /post/ route: " + ++postRouteCnt);
});
Posts.get('/:title', post);
module.exports = Posts;
调用 /post/ 时,我应该收到 json 响应时收到 404 Cannot GET /post/。
编辑: 文件夹结构
Server/
routes/
api/
index.js
getPost.js (for individual post)
posts/
index.js
post.js (for individual post)
server.js
【问题讨论】:
-
你能添加你的posts/index.js文件吗
-
更新了完整的帖子/index.js