express.js是否具有可变长度参数? [英] Do express.js has variable length parameters?
本文介绍了express.js是否具有可变长度参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
例如我想要一条像这样的路线:
e.g. I want to have a route like:
/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("/")
.
and the value of params
in line 4 is p1/p2/p3
, then I can do params.split("/")
.
Flask.py可以做到这一点,这正是我想要的.它是否存在于express.js中?
Flask.py can do this, that exactly what I want. Does it exist in 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 :
Express handles this. From http://expressjs.com/guide.html#routing :
"/files/*"
/files/jquery.js
/files/javascripts/jquery.js
因此,在您的示例中,(在CoffeeScript中)
So, in your example, (in CoffeeScript)
util = require "util"
app.get '/a/b/c/*', (req, res) ->
res.json util.inspect(req.params)
假设一个应用程序结构将进入端口8080 ...
assuming an application structure going to port 8080...
http://localhost:8080/a/b/c/d/e/f
将返回
"[ 'd/e/f' ]"
这篇关于express.js是否具有可变长度参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文