ルートハンドラーの後に応答をフォーマットするためにミドルウェアを使用しているExpressアプリケーションがあります。そのため、res
オブジェクトにデータを追加した後、すべてのルートがnext()
フォーマッターを呼び出すために呼び出しています。
404を論理的に処理したい。ただし、すべてのルートハンドラーが呼び出すため、これにアプリミドルウェアを簡単に使用することはできませんnext()
。キャッチオールルート(app.use('*', 404function...)
)を作成すると、正しいルートであっても、すべてが404エラーになります。
ルートがハンドラーのいずれにも一致しなかったかどうかを確認する方法はありますか?あるいは、ルートにエラーミドルウェア(アリティ4の関数)を具体的に呼び出す方法はありますか?
req.route
フォーマッタでが定義されているかどうかを確認できます。その場合、リクエストはルートと一致し、レスポンスデータをフォーマットできます。それ以外の場合は、その場で404を生成するか、を使用してそれを渡しnext
ます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加