Javascript Node.js中的动态路由
我想创建动态存根作为Web服务。我的想法是在每次请求时加载一个定义文件,并返回相应URL的数据。 定义文件可能如下所示:Javascript Node.js中的动态路由,javascript,node.js,express,Javascript,Node.js,Express,我想创建动态存根作为Web服务。我的想法是在每次请求时加载一个定义文件,并返回相应URL的数据。 定义文件可能如下所示: /api/users {users:["john", "jack", "jake"]} /api/users/1 {user:"john"} /api/some-data/1 {data:"some data"} 在我代表教程创建的应用程序中,我发现: router.post('/some-irl', function (req, res) { //some cod
/api/users {users:["john", "jack", "jake"]}
/api/users/1 {user:"john"}
/api/some-data/1 {data:"some data"}
在我代表教程创建的应用程序中,我发现:
router.post('/some-irl', function (req, res) {
//some code
return {some JSON}
});
但是这个定义在我看来是静态的,应该在我启动Node.js之前就已经存在了。在请求发生时是否可以定义/一些irl
编辑
事实上,我本打算做这样的事情:但它已经存在了 您可以在路由中定义变量,在变量名之前使用
:
进行定义,然后您将在req.params中获得值:
route.get('/api/users/:user/', function (req, res) {
var username = req.params.user;
});
您可以附加一个
使用
中间件,它可以检查路径并决定是处理路径还是传递路径:
router.use(function(req, res, next) {
// req.path
// decide what to do
// respond or next()
});
看一看-我假设您使用express
,route path可以有类似于mini-regex的匹配,您可以命名参数,使其可选或选择性,等等。。。