koa-onerror 这个包,配置json,html error handler的疑问
发布于 6 年前 作者 JerrysShan 6103 次浏览 来自 问答

有谁熟悉这个包,我想知道这个包根据什么判断返回的是JSON还是HTML,然后使用不同的error handler. 请大神指点!

5 回复

http accept header

@atian25 多谢大神,但是我在egg中配置

config.onerror = {
    json(err, ctx) {
      ctx.body = { code: -1, data: [], msg: err.message };
    }
  }

貌似没起作用

看你前端侧的 header 有没有对咯。

其实这两个库的源码就那么点,看看断点下就知道了

@atian25 好的,多谢大神,刚接触egg,明天再试试!

虽然是三个月前的老帖子,不过正确的做法貌似如下:

config.onerror = {
	accepts() {
		return 'json';
	},
    json(err, ctx) {
      	ctx.body = { code: -1, data: [], msg: err.message };
    }
}

就是设置一下只接受json,其他类型的header:Accept也是返回json。

回到顶部