Closed fengyun2 closed 7 years ago
返回一个html格式的错误文档是因为你req请求头带的Accept跟html最匹配,所以onerror判断使用html错误处理 关键代码位置:https://github.com/koajs/onerror/blob/master/index.js#L75
其实它默认带有三种error handler
,分别是text、json、html
你要自定义返回内容,你可以通过传入配置重写handler
@BUPT-HJM 我是用postman模拟请求的,如何在koa中设置为json返回呢?
不好意思,最近比较忙没有及时回复
其实我前面写了就是由headers的Accepts判断的
既然是postman,可以设置请求头,可以设置为
Accept:application/json, text/plain, */*
这样请求到就是json,如果想自定义传入koa-onerror
配置就行了
version: "koa": "^2.3.0", "koa-onerror": "^3.1.0"
为何
onerror(app)
, 拦截ctx.throw
抛出的错误,会返回一个 html 格式的错误文档,而不是一个json格式的错误?(即如何拦截返回一个如下格式的error: ctx.body = {status: 500, message: '服务器错误'})