带斜杠的 Express.js 路由参数 [英] Express.js route parameter with slashes
本文介绍了带斜杠的 Express.js 路由参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个提供文件列表的应用程序.
I have an application which serves file listings.
应用程序必须响应以下路由:
The application must respond to following routes:
/company/:id
/company/:id/dir
/company/:id/dir/dir
这里的 /company/:id
是一个没有指定 path
的路由,例如一个 root
目录.我在想像 app.get('/company/:id/:path', ...
这样的东西,这显然不起作用.
Here /company/:id
is a route with no path
specified e.g a root
directory. I was thinking for something like app.get('/company/:id/:path', ...
which obviously doesn't work.
如何定义响应所有示例的路由?
How can I define a route which responds to all of the examples?
推荐答案
使用 /company/:id*
(注意尾随星号).
Use /company/:id*
(note trailing asterisk).
完整示例
var express = require('express')();
express.use(express.router);
express.get('/company/:id*', function(req, res, next) {
res.json({
id: req.params['id'],
path: req.params[0]
});
});
express.listen(8080);
这篇关于带斜杠的 Express.js 路由参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文