Express - 如何修改请求然后重定向到另一条路线?

Express - How to modify request then redirect to another route?

我正在寻找一种方法来修改我的请求,然后再重定向到我的 express.js 应用程序中的另一条路线。

我尝试了两种方法来做到这一点:
1)

 #users.coffee
 router.use '/:id', (req, res, next) ->
   req.currentUser = req.params.id
   req.url = '/'
   next()

 #app.coffee
 app.use '/users', require('./routes/users')
 app.get '/', (req, res) ->
   locals = {}
   if req.currentUser
     locals.currentUser = req.currentUser
   res.render 'index', locals

2)

 #users.coffee
 router.use '/:id', (req, res, next) ->
   req.currentUser = req.params.id
   res.redirect '/'

 #app.coffee
 app.use '/users', require('./routes/users')
 app.get '/', (req, res) ->
   locals = {}
   if req.currentUser
     locals.currentUser = req.currentUser
   res.render 'index', locals

第一种方法没有重定向,第二种方法不呈现页面。

我想达到的目标可能是不可能的。客户端请求发送的url不能修改。我只能发送一个状态 302 和一个重定向 url 然后客户端发出一个新的获取请求。所以有两个不同的请求。
但是我可以在查询中转换 url 的斜杠格式。

#users.coffee
 router.get '/:id', (req, res) ->
   res.redirect '/?user:'+req.params.id