express路由分开写以后,restful api的单复数怎么处理 ?
发布于 8 年前 作者 yakczh 4744 次浏览 来自 问答

一般api请求列表会加在 s 单条纪录没有s 比如 /users /user/100

第一种写法 全写在app. js中 `` app.get( ‘/’ , xxx); app.get( ‘/users’ ,ooo; app.post(’/user/id’ , xxxxx); app.get( ‘/messages’ , xxooo); app.get( ‘/message/:id’ , ooo); app.post(’/message/:messageId/comments’, xxxooo);

这样如果路由多了就混在一起
第二种是根据分模块写 路由 

app.use(’/’, require(’./routes/index.js’)); app.use(’/users’, require(’./routes/user.js’)); app.use(’/messages’, require(’./routes/message.js’)); …


但是这时候在user.js 中就没法用 user/:id 来写路由 只能用
/users/user/100
这样来访问 
/user/100 会提示404
5 回复

印象中RESTful资源是要求复数还是单数来着…

下面那个可以用app.param自己做处理, 也可以自己手撸一个param

@DevinXian 这个问题很简单,你想想多个路由,是如何匹配的

app.use('/users', require(./routes/user.js))

在user.js中

 router.get('/:id', function(req, res, next) {
})

/users/:id 这种路由

@i5ting 我是呼你来给楼主讲题的- -

回到顶部