小编And*_*sen的帖子

Express GET路由不适用于参数

我是Express和Mongoose的新手.我目前正在开发我的第一个项目,这不是一个教程,我遇到了一个问题.

我有多个路由,它们在index.js中定义如下:

app.use('/api/client',require('./routes/client'));
app.use('/api/host',require('./routes/host'));
Run Code Online (Sandbox Code Playgroud)

在路由中,有多个动词可用,如PUT和POST.这是一条有问题的路线(我正在尝试做更多这里介绍的内容,但这里介绍的内容不起作用):

router.get('/ama/:id', function (req, res, next) {
    Ama.findById(req.params.id).then(function(Ama){
        res.send(Ama);
    });
});
Run Code Online (Sandbox Code Playgroud)

这应该有用,对吗?它应该使用该id返回数据库中的文档.我检查过该文件是否存在,可能大概是100次.现在,如果我大大简化路由,删除id,并做出简单的响应,路由工作:

router.get('/ama', function (req, res, next) {
    res.send({type:"GET"});
});
Run Code Online (Sandbox Code Playgroud)

它是如此奇怪,只要我添加参数,我得到一个:

<pre>Cannot GET /api/host/ama</pre>
Run Code Online (Sandbox Code Playgroud)

在邮递员.

有任何想法吗?Mongod正在运行,我的其他路线正在运行.

router get mongoose node.js express

5
推荐指数
1
解决办法
5467
查看次数

标签 统计

express ×1

get ×1

mongoose ×1

node.js ×1

router ×1