例如我想要一条这样的路线:
/mock/:level1/:level2/(:params)*
匹配
/mock/a/b
/mock/a/b/p1
/mock/a/b/p1/p2
/mock/a/b/p1/p2/p3
第 4 行中 params
的值为 p1/p2/p3
,那么我可以执行 params.split("/")
.
编辑:
Flask.py 可以做到这一点,这正是我想要的。它存在于express.js中吗?
@app.route('/wcfmock/<level1>/<level2>/<level3>/<path:params>')
def catch_all(level1, level2, level3, params):
return 'You want params: %s' % params
最佳答案
Express 可以处理这个问题。来自 http://expressjs.com/guide.html#routing :
"/files/*"
/files/jquery.js
/files/javascripts/jquery.js
因此,在您的示例中,(在 CoffeeScript 中)
util = require "util"
app.get '/a/b/c/*', (req, res) ->
res.json util.inspect(req.params)
假设应用程序结构前往端口 8080...
http://localhost:8080/a/b/c/d/e/f
将返回
"[ 'd/e/f' ]"
关于node.js - express.js 有可变长度参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11642092/