2017-08-04 68 views

回答

2

在表達,你可以使用通配符就像在你的路線*,它也支持正則表達式,你可以使用,這裏是一個例子一旦你的params,那麼你可以在/分裂,這將給你傳遞給路由的所有參數的數組,你如何能做到這一點

app.get('/pairs/*', function(req, res) { 
    console.log(req.params[0]); 
}); 

// GET /pairs/testing/this/route 
// Output: testing/this/route 

有關快速路由的更多信息,請參閱this page

0

您可以使用正則表達式來處理,您可以訪問ExpressJs Documentation瞭解更多詳情

app.get('/pairs/*', function(req, res, next) { 
    // app logic 
}); 
1

作爲替代手動分裂參數(這可能是最好的解決方案),所有的要求,你也可以定義路由用的參數的最大允許數量,每一個是可選的:

app.get('/pairs/:arg1?/:arg2?/:arg3?/:arg4?', ...) 

(以允許至多4個參數)

個的結果將是:

/pairs/USD 
{ arg1: 'USD', arg2: undefined, arg3: undefined, arg4: undefined } 

/pairs/USD/EUR 
{ arg1: 'USD', arg2: 'EUR', arg3: undefined, arg4: undefined } 

/pairs/USD/EUR/RUB 
{ arg1: 'USD', arg2: 'EUR', arg3: 'RUB', arg4: undefined } 

/pairs/USD/EUR/RUB/BTC 
{ arg1: 'USD', arg2: 'EUR', arg3: 'RUB', arg4: 'BTC' } 
+0

我已經知道如何做到這一點,但不知道如何編寫此爲*的參數 –

+0

任何*號的@MathieuBertin我認爲這將需要手動分裂網址爲單獨的參數, – robertklep