koa-json-error是一个koa错误处理的三方库,可以将错误捕获,并生成json格式的错误信息,对于写接口,比较友好,但是自定义性差,也不维护了,貌似很多koa的库都不维护了!
由于koa是一个洋葱模型的框架,正确配置中间件,就显得很重要。
const error = require('koa-json-error')
app.use(error({
postFormat: (e, { stack, ...rest }) => process.env.NODE_ENV === 'production' ? rest : { stack, ...rest }
})) // 必须配置在路由的上面
// routes
app.use(index.routes(), index.allowedMethods())
正确配置的效果:
{
"message": "bad",
"name": "BadRequestError",
"status": 400
}
错误效果:
这里显示html文件,是由于另一个中间件,koa-onerror的影响,否则就只返回一个字符串。
2、koa-router
koa-router的路由匹配存在优先级问题,先看问题代码:
router.get('/detail/:id', findBookDetail)
router.get('/:tag', findBookTag)
router.get('/hot_words', findBookHotWord);
由于tag在hot_words之前,导致每次请求都进入tag中,因此对于此类路由,要么修改为
router.get('/tag/:tag', findBookTag)
要么,将tag下面路由放置在上方
https://blog.csdn.net/isaisai/article/details/47949091/
https://blog.csdn.net/weixin_33674976/article/details/89058442
评论列表
已有0条评论