1.興亜独自のエラー処理
ctx.throw(状態コード)によって例外をスローすることでKOA、あなたはまた、エラーメッセージが欲しい持参することができます
// ここでは、それ以外の場合はエラースローされ、IDの輸入が否定することはできない制限 usersRouter.get( '/:ID'、(CTX)=> { IF(ctx.params.id * 1 <0 ){ 。CTXをスロー( 404、 'ユーザが小さすぎると、見つかりません' ) } ctx.body = DB [ctx.params.id * 1 ] })
図自身のエラー処理結果1 KOA
私たちは、エラー処理の情報も表示され、数字、返されたステータスコード404から見ることができます。しかし、これは私たちが望むものではない、規定のRESTfulなAPIで、我々はJSONフォーマットを使用して情報を返すようにしてみてください
だから我々は、エラー処理コードは、後に実行される、実行順序の前面にミドルウェアを書くことができます
// 错误处理中间件 app.use(非同期(CTX、次)=> { 試みる{ 待つ次の() } キャッチ(エラー){ ctx.status = error.status || error.statusCode ctx.body = { メッセージ: error.message } } })
あなたはJSON形式のショーにエラーメッセージを見ることができます
2.エラーメッセージに対処するためのミドルウェアKOA-JSON-エラーを使用します
1. 安装koa-json-error
NPM I KOA-JSON-エラー--save
2.
CONST誤差=必要とする( 'KOA-JSONエラー' )
app.use(エラー())
図2エラー情報処理KOA-JSON-errorr
図から分かるように、結果KOA-JSONエラーは、JSON形式に戻され、情報が非常に完全です。しかし、我々は戻っ必要はありません生産段階で非常に長いstackフィールドは、そこにあります。だから、私たちのようにする必要があり
本番環境でそれを隠します