':name'パラメータに基づいてデータベースからポイントを返すrouter.get( '/:name'、...)を追加しようとしています。同じルートの複数の.get(...)
ルート/ points.js
import express from 'express'
import Points from '/path/models/points'
let router = express.Router()
router.get('/:session', (req, res) => {
Points.query({...}).fetchAll().then(point => {
//returns points based on sessionId
})
})
export default router
私は他人に.get」を追加しようとすると、私は 『セッション』とは異なるパラメータを使用したときに返されるものすべてがオリジナルrouter.getので、定義されていませんが使用され、 'セッション'を探しています。
別のパラメータを取る別の「取得」を追加する方法はありますか?
今import express from 'express';
import Points from '/path/models/points';
let router = express.Router();
router.get('/sessions/:session', (req, res) => {
Points.query({...}).fetchAll().then(point => {
//returns points based on sessionId
});
});
router.get('/names/:name', (req, res) => {
.. actual code here ..
});
export default router;
あなた本当にあなたは、単一のルートを使用することができ、あなたのクエリのための単一とらわれないエントリポイントを持つことを主張し、検索するために、実際のDBクエリを使用している場合:私のコメントにフォローアップ
ルーティングのルートレベルにパラメータを配置するのは悪い考えです。なぜなら、* anything *がそのパラメータに一致するからです。あなたのプロジェクトを通して '/ sessions /:session'のようなものにそのルートを再定義することを検討してください。問題はなくなります。 – Jaxx