在写接口时,返回json格式且易读的错误提示是有必要的,koa-json-error中间件帮我们做到了。
412错误 先决条件出错
// code
ctx.throw(412, '先决条件失败:id大于数据长度')
复制代码
返回错误信息
{
"message":"先决条件失败:id大于数据长度",
"name":"PreconditionFailedError",
"status":412
}
比如我们请求了一个不存在的数据,自动返回412和错误信息。
可以看到,返回了对栈信息,但很多时候我们并不想告诉别人内部是哪里出错。
这里使用环境变量来配置,如果为生产环境,不返回stack的信息。如果为调试环境则全返回。
app.use(error({
postFormat: (e,{stack,...rest})=>process.env.NODE_ENV===`production`?rest:{stack,...rest}
}));
在intellij中,可以方便的添加环境变量
这样获得请求的信息就是安全的了