私はExpressとMongooseを初めて使用しています。私は現在、チュートリアルではない最初のプロジェクトに取り組んでおり、問題にぶつかっています。Express GETルートはパラメータでは機能しません
私は複数のルートを持っているが、彼らはこのようなindex.jsで定義されています。ルートで
app.use('/api/client',require('./routes/client'));
app.use('/api/host',require('./routes/host'));
、PUTやPOSTのように、仕事の複数の動詞があります。ここで が問題のルートです(私はここで提示されていますが、ここで何を提示しているもの、としてうまく機能していないことを複数の操作を行いますしようとしています):
router.get('/ama/:id', function (req, res, next) {
Ama.findById(req.params.id).then(function(Ama){
res.send(Ama);
});
});
これは動作するはずです、右?そのIDを持つデータベース内のドキュメントを返す必要があります。そして、おそらく約100回、文書が消えているかどうかを確認しました。私はIDを削除し、大幅にルートを簡素化し、簡単な応答を作る場合、ルートは働く は今、:
:router.get('/ama', function (req, res, next) {
res.send({type:"GET"});
});
それはすぐに私は、パラメータを追加すると、私が得ることを、とても奇妙です
<pre>Cannot GET /api/host/ama</pre>
in郵便配達員。
アイデア? Mongodが走っている、私の他のルートが働いている。前に実行するすべての
router.get('/ama/:id', function (req, res, next) {
Ama.findById(req.params.id).then(function(Ama){
res.send(Ama);
})
res.send(req.params.id)*/
});
まず、res.send(req.params.id)
:
どこで/ api/host/amaを呼び出しますか?ちょうどポストマンを使用して?あなたがreq.params.idをログすると、あなたは何を得ますか? –
@CédricDeDyckerはい、私は現在Postmanを使用しています。 req.params.idをログに記録することはできません。なぜなら、ルートのコードが最初から実行されていないように思えるからです。少なくとも私がそれを記録しようとしたとき、何も起こらない。 –