在子文件夹中表达4个其他api路由

时间:2016-05-21 05:02:05

标签: javascript node.js express

我似乎无法让我的.get('/:post_id)路线上班,我不明白为什么......

我的文件夹结构是这样的:

  • app.js
  • 路由
  • - API
  • ---- blog.js

本质上blog.js位于routes / api文件夹中

在app.js中我有这个:

var blog = require('./routes/api/blog');

app.use('/api/blog', blog);

在blog.js中我有这个:

//ALL API calls at /api/blog/:post_id
    router.route('/:posts_id')

    //Retrieve and individual post in JSON by id
    .get(function(req, res) {
        Post.findById(req.params.posts_id, function(err, post) {
            if (err) {
                res.send("error");
            } else {
                res.json(post);
            }
        });
    });

在同一个文件夹中有一个get和post请求,它们工作正常,但我最终得到app.js文件中的404错误,它甚至从未到达:posts_id route ...任何想法?

1 个答案:

答案 0 :(得分:0)

您应该更改 blog.js

var router = require('express').Router();

router
    .get('/:posts_id', function (req, res, next) {
        res.send("i am here")    // in here when request /api/blog/:post_id
    });

module.exports = router;