ホームページ > 記事 > ウェブフロントエンド > Node.js および Express POST 操作でリクエスト本文へのアクセスを処理するにはどうすればよいですか?
Node.js および Express POST 操作でのリクエスト本文へのアクセス
Node.js および Express を使用する場合、POST でリクエスト本文にアクセスする操作はユーザー入力を処理するために重要な場合があります。ここでは、課題を解決し、代替アプローチを検討するための包括的なガイドを示します。
本文解析用のミドルウェア
4.16 より前の Express バージョンでは、リクエスト本文を解析するために body-parser などのミドルウェアが必要でした。ただし、提供された回答によると、4.16 以降の Express バージョンには、外部モジュールの必要性を排除する組み込みの JSON ミドルウェアが含まれています。 app.use(express.json()) を使用するだけで、JSON 形式のリクエストボディを解析できます。このミドルウェアは自動的に本文を解析し、解析されたオブジェクトを req.body に保存します。
カスタマイズされた生のリクエスト本文へのアクセス
ミドルウェアを使用する場合は、req.rawBody を選択できます。ただし、このメソッドは、application/octet-stream など、サポートされているコンテンツ タイプを持つリクエストでのみ使用できます。未処理のリクエスト本文に直接アクセスすると、潜在的なセキュリティ リスクが生じる可能性があるため、注意して行う必要があることに注意することが重要です。
一般的な問題のトラブルシューティング
Node.js の問題への対処リクエスト本文全体を応答に書き込もうとすると例外がスローされるため、リクエスト本文には文字列以外の文字が含まれる可能性があることを理解することが重要です。したがって、このエラーを防ぐには、レスポンスに書き込む前に、toString() や toBuffer() などのメソッドを使用して本文の内容を文字列またはバッファに変換する必要があります。
Example
組み込み JSON ミドルウェアと req.body を使用して、解析された JSON オブジェクトとしてリクエスト本文にアクセスする方法を説明するために、Express アプリケーションのサンプルを次に示します。
<code class="javascript">const express = require('express'); const app = express(); app.use(express.json()); app.post('/test', (req, res) => { console.log(req.body); // This will contain the parsed JSON object res.json({requestBody: req.body}); // Response as JSON }); app.listen(3000);</code>
これらのガイドラインに従い、理解することでNode.js と Express でのリクエスト本文処理の基礎を活用することで、開発者はユーザー入力を効果的に管理し、堅牢な POST 操作機能を作成できます。
以上がNode.js および Express POST 操作でリクエスト本文へのアクセスを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。