koa路由和参数传递

koa并未对路由和参数进行高度封装所有需要使用中间件来帮助

路由@koa/router

npm install @koa/router
先将其模块化

const Router = require('@koa/router')
const router = new Router({prefix:'/api/v1'})

router.get('/user/info',ctx=>{
    ctx.body = 'hello user'
})

module.exports = router

然后再用koa的实例use(router.routes())就可以挂载到koa上了

参数传递

queryparams是可以通过上下文获取到的但是body不能,此时可以安装koa-body中间件
npm install koa-body
之前旧版本引入是直接引入的新版本需要按需引入,引入后再挂载就可以在router中通过ctx.request.body获取到客户端请求的参数了

const {koaBody} = require('koa-body')
app.use(koaBody())

错误接管

抛出错误可以用ctx.throw(401,'用户不存在')
执行错误可以绑定监听

app.on('error',(err,ctx)=>{
    console.log(err);
    ctx.body = err
})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容