router的请求地址问题
来源:3-1 路由系统

沧林
2020-02-23
我可以像下面这么获取请求过来的id值
const router = new Router({
prefix: '/v1/book'
})
router.get('/:id', async(ctx, next)=>{
const id = ctx.params.id
})
但是如果我想写成url=‘localhost:3000/v1/book?id=100’,router的get路径应该像下面这么写?还是说koa-router的规则不可以加问号?谢谢。
const router = new Router({
prefix: '/v1/book'
})
router.get('?id=:id', async(ctx, next)=>{
const id = ctx.params.id
})
写回答
2回答
-
const router = new Router({
prefix: '/v1/book'
})
router.get('/', ctx=> {
const id = ctx.query.id
})路径中使用冒号开头的参数可以在params中获取
路径尾部?带的参数可以被query获取两个是不同的
012020-03-01 -
沧林
提问者
2020-03-01
自问自答。。。在 koa2 中 GET 传值通过 request 接收,但是接收的方法有两种:query 和 querystring。 query:返回的是格式化好的参数对象。querystring:返回的是请求字符串。
比如 url:localhost:3000/v1/book/favor?id=100 路由地址应该写成以下
const router = new Router({ prefix: '/v1/book' }) router.get('/favor', async(ctx, next)=>{ const id = ctx.query.id //这样就能获得到请求中的100数值了 })
00
相似问题