CNode

koa router 这是坑吗???

问答
JJarvin-Guan发布于10 年前最后回复10 年前4 回复7381 浏览0 收藏

koa中使用router

router.get('/user/:id', function *(next) {

})

这个路由必须要有id这个参数才捕获到????如果id是可以不填的,就需要多开一个路由?

router.get('/user',function *(next){ })

那么结合joi ,里面有required()方法,那就没有用了???最外层都无法控制

查看回复

回复 (3)

T
TakWolf#1·10 年前

/user/ 或者 /user /user/:id 这是两个路由,这么设计是合理的,我见过的很多框架都是这样设计的,因为path深度是不同的

而且,在restful语义上,第一个通常被用在集合资源,返回List,第二个是单个资源 当然,更合理的是 /users/ 或者 /users

J
Jarvin-Guan#3·10 年前

我自己总结下: 1.joi中的required()对验证body是有意义的。 2.joi对验证params就没意义了,因为路由是验证之前。

参与回复
登录后即可参与回复。登录