我要查詢的叫喊API,並具有以下路線:的Node.js:快速app.get多個查詢參數
app.get("/yelp/term/:term/location/:location", yelp.listPlaces)
當我做一個GET請求來
http://localhost:3000/yelp?term=food&location=austin
,
我得到的錯誤
Cannot GET /yelp?term=food&location=austin
我在做什麼錯?
我要查詢的叫喊API,並具有以下路線:的Node.js:快速app.get多個查詢參數
app.get("/yelp/term/:term/location/:location", yelp.listPlaces)
當我做一個GET請求來
http://localhost:3000/yelp?term=food&location=austin
,
我得到的錯誤
Cannot GET /yelp?term=food&location=austin
我在做什麼錯?
你試過這樣調用過嗎?
http://localhost:30000/yelp/term/food/location/austin
需要通常所說的URL看起來很像的路線,你也可以將其更改爲:
/yelp/:location/:term
爲了使它有點漂亮:
http://localhost:30000/yelp/austin/food
我想要添加到@ luto的答案。無需在路由中定義查詢字符串參數。例如,路線/a
將處理/a?q=value
的請求。
的URL參數是一個快捷方式來定義所有的比賽路線的模式,使路線/a/:b
將匹配
/a/b
/a/c
/a/anything
它不會匹配
/a/b/something
或/a
在所請求的URL http://localhost:3000/yelp?term=food&location=austin
localhost:3000
/yelp
?term=food&location=austin
即數據是後一切?執行這些匹配時不會考慮查詢字符串,例如「GET /」將匹配以下路由,如同「GET /?name = tobi」一樣。
所以,你應該:
req.query.term