假设我希望REST端点看起来像这样:
/user/
/user/user_id
/user/user_id/items/
/user/user_id/items/item_id
Run Code Online (Sandbox Code Playgroud)
每个CRUD都有意义.例如,/ user POST创建一个新用户,GET将提取所有用户./ user/user_id GET只提取一个用户.
项目是用户特定的,所以我把它们放在user_id下,这是一个特定的用户.
现在要制作快速路由模块我做了几个路由器实例.有一个用户路由器和一个路由器.
var userRouter = require('express').Router();
userRouter.route('/')
.get(function() {})
.post(function() {})
userRouter.route('/:user_id')
.get(function() {})
var itemRouter = require('express').Router();
itemRouter.route('/')
.get(function() {})
.post(function() {})
itemRouter.route('/:item_id')
.get(function() {})
app.use('/users', userRouter);
// Now how to add the next router?
// app.use('/users/', itemRouter);
Run Code Online (Sandbox Code Playgroud)
URL to item是URL层次结构的后代user.现在我如何获取/usersuserRouter的URL,但是更具体/user/*user_id*/items/的itemRouter 路由?而且,如果可能的话,我希望item_outer也可以访问user_id.