koa router 这是坑吗???
发布于 3 天前 作者 Jarvin-Guan 926 次浏览 来自 问答

koa中使用router

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

})

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

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

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

4 回复

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

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

@TakWolf 按你这样说,就是我所理解的没错,那么joi那个required就没用了?????

本来 就是 这么设计的。。 users 一个集合 users/:id 一个具体对象

你如果只要一个独立对象,可以叫做 oneUser之类的balabala。。。

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

回到顶部