Node.jsの「Expressフレームワーク」における「リクエスト処理とレスポンスの返却」について詳しく説明します。
1. 基本概念
Expressは、Node.jsでWebアプリケーションやAPIを構築するための軽量なフレームワークであり、HTTPリクエストとレスポンスの処理を簡潔かつ柔軟に行えるように設計されています。
2. リクエスト処理の流れ
クライアントからのリクエストがサーバに届いたとき、Expressはそのリクエストを適切なルートに割り当てて処理します。
req(リクエストオブジェクト)
req(リクエストオブジェクト)リクエストに関する以下のような情報を含みます:
-
req.params:URLパラメータ -
req.query:クエリ文字列 -
req.body:リクエストボディ(POST, PUTなど) -
req.headers:ヘッダー情報 -
req.method:HTTPメソッド(GET, POSTなど) -
req.url:リクエストされたURL
3. レスポンスの返却方法
Expressでは、レスポンスを返すためにres(レスポンスオブジェクト)を使用します。主な返却方法は以下の通りです。
① res.send()
res.send()プレーンテキスト、HTML、JSONなどを返すことができます。
② res.json()
res.json()JSON形式でレスポンスを返します。
③ res.status()
res.status()ステータスコードを指定して返すことができます。
④ res.redirect()
res.redirect()別のURLにリダイレクトします。
4. 例:POSTリクエストの処理
この例では、POST /submitにJSON形式のデータが送られてきた場合に、名前を受け取り、挨拶を返します。
5. 補足:ミドルウェアとの関係
リクエスト処理は、必要に応じてミドルウェアを通過させることができます。たとえばログの記録や認証チェックをミドルウェアで行い、その後にレスポンス処理を行います。
まとめ
-
リクエスト処理はreqオブジェクトで受け取り、レスポンスはresオブジェクトを用いて返却します。
-
res.send(), res.json(), res.status()などのメソッドで柔軟にレスポンスを制御できます。
-
ミドルウェアと組み合わせることで、拡張性の高い処理が可能です。
ChatGPT4o 生成日:2025/06/25