CNode

express路由分开写以后,restful api的单复数怎么处理 ?

问答
Yyakczh发布于10 年前最后回复10 年前5 回复5246 浏览0 收藏

一般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)

S
Smallpath#1·10 年前

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

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

D
DevinXian#2·10 年前

@i5ting

I
i5ting#3·10 年前
引用 DevinXian@i5ting

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

L
liujavamail#4·10 年前
app.use('/users', require(./routes/user.js))

在user.js中

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

/users/:id 这种路由

D
DevinXian#5·10 年前
参与回复
登录后即可参与回复。登录