2017-05-31 3 views
0

私は以下の簡単なルートを持っています。パラマットが動作しないエクスプレスルート

const express = require('express'); 
const api = express.Router(); 

api.get('/vacancies', vacancies.getAllVacancies); 

api.get('/vacancy/:id', vacancies.getVacancyById); 

私はgetVacancyByIdreq.params.idを使用する予定。しかし、getAllVacancies作品が、

/vacancy/?id=1 is never recognized . I tried vacancy?id=1 many things it just never get called. The route is not recognized at all. 

パスを呼び出してください。私は間違って何をやっていますか?あなたの/?idがクエリパラメータであるため、どんな助けもありがとうございます

+0

送信可能な3種類のスクラップがあります。本文、リソース、およびクエリパラメータ。私はリソースのパラメータですが、あなたはクエリのパラメータであなたのAPIを呼び出しています。それを/ vacancy/1と呼んでください。 – selftaught91

答えて

2

私が提案します=この問題の解決策2:

ソリューション1 (推奨): 使用api.get('/vacancy/:id', ... & req.params.idとアクセス

/vacancy/1を経由して解決策2: 使用api.get('/vacancy', ... & req.query.idとアクセス経由/vacancy/?id=1

1

IDの値を取得するには をreq.query.id ORの代わりに、あなたのURLがなければなりません/空室/ 1をreq.paramsにあなたは、IDの値をしたい場合は/空室/?idが1

+0

ルートはどうですか?それは呼ばれない。 –

+2

あなたは/ vacancy/1でヒットしてみましたか?おそらく間違ったURLを打っているので、呼び出されません –

関連する問題