Node.js は、Chrome V8 エンジンに基づく JavaScript ランタイムで、JavaScript をサーバー側で実行できるようにします。Node.js は強力なバックエンド開発ツールとして豊富なモジュールと機能を提供し、開発者が高性能のネットワーク アプリケーションを簡単に構築できるようにします。
この記事では、Node.js の GET リクエストと POST リクエストに焦点を当てます。GET と POST は HTTP プロトコルで一般的に使用される 2 つのリクエスト メソッドであり、データの送信とリソースへのアクセスにおいて異なる特性を持っています。Web アプリケーションを構築するには、Node.js で両方のリクエスト スタイルを処理する方法を知ることが重要です。
GETリクエスト
GETリクエストとは何ですか
GET リクエストは、サーバーにリソースをリクエストする方法です。URL 経由でリクエスト パラメータをリクエストに追加し、リクエストをサーバーに送信します。GET リクエストは通常、記事の読み取り、ユーザー情報の取得、その他の操作などのデータを取得するために使用されます。
Node.js での GET リクエストの処理
GET リクエストを処理するには、Node.js 組み込みモジュールhttp
またはサードパーティ モジュールを使用する必要がありますexpress
。以下に 2 つの方法を紹介します。
http モジュールを使用して GET リクエストを処理する
const http = require('http');
const server = http.createServer((req, res) => {
// 处理 GET 请求逻辑
if (req.method === 'GET' && req.url === '/data') {
// 获取请求参数
const query = new URL(req.url, `http://${
req.headers.host}`).searchParams;
const id = query.get('id');
// 根据参数获取数据
const data = getDataById(id);
// 返回数据
res.statusCode = 200;
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(data));
} else {
res.statusCode = 404;
res.end('Not Found');
}
});
server.listen(3000, () => {
console.log('Server is running on port 3000');
});
上記のコードでは、HTTP サーバーを作成し、リクエスト イベントで GET リクエスト ロジックを処理します。まず、リクエストメソッドとリクエストURLが期待どおりかどうかを判断します。要件が満たされている場合、URL
オブジェクトを通じてリクエスト パラメーターを取得し、パラメーターに従ってデータを取得するなど、対応する操作を実行できます。最後に、データを JSON 形式でクライアントに返します。
Express フレームワークを使用して GET リクエストを処理する
express
より簡潔で効率的なフレームワークを使用したい場合は、モジュールを使用して GET リクエストを処理することを選択できます。以下は、express
を使用して GET リクエストを処理するサンプル コードです。
const express = require('express');
const app = express();
app.get('/data', (req, res) => {
// 获取请求参数
const id = req.query.id;
// 根据参数获取数据
const data = getDataById(id);
// 返回数据
res.json(data);
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
上記のコードでは、express
メソッドを使用してアプリケーションを作成し、get
メソッドを使用して GET リクエストを処理します。オブジェクトを使用してreq.query
、リクエスト パラメーターを直接取得し、対応する操作を実行できます。最後に、res.json()
メソッドを使用してデータを JSON 形式でクライアントに返します。
POSTリクエスト
POSTリクエストとは何ですか
POST リクエストは、サーバーにデータを送信する方法です。送信する必要があるデータをリクエスト本文に入れて、リクエストをサーバーに送信します。POST リクエストは通常、リソースの作成、更新、削除などの操作に使用されます。
Node.js での POST リクエストの処理
POST リクエストを処理するには、Node.js 組み込みモジュールhttp
またはサードパーティ モジュールを使用することも必要ですexpress
。以下に 2 つの方法について説明します。
http モジュールを使用して POST リクエストを処理する
const http = require('http');
const fs = require('fs');
const server = http.createServer((req, res) => {
// 处理 POST 请求逻辑
if (req.method === 'POST' && req.url === '/data') {
let body = '';
req.on('data', chunk => {
body += chunk;
});
req.on('end', () => {
// 解析请求体
const data = JSON.parse(body);
// 执行相应操作
saveData(data);
// 返回响应
res.statusCode = 200;
res.end('Data saved successfully');
});
} else {
res.statusCode = 404;
res.end('Not Found');
}
});
server.listen(3000, () => {
console.log('Server is running on port 3000');
});
上記のコードでは、HTTP サーバーを作成し、リクエスト イベントで POST リクエスト ロジックを処理します。まず、data
イベントとイベントをリッスンしてend
リクエスト本体のデータを取得します。次に、リクエスト本文のデータを解析し、データベースやファイルへのデータの保存など、対応する操作を実行できます。最後に、保存に成功した情報をクライアントに返します。
Express フレームワークを使用して POST リクエストを処理する
を使用したexpress
POST リクエストの処理も非常に丁寧です。以下は、express
を使用して POST リクエストを処理するサンプル コードです。
const express = require('express');
const app = express();
app.use(express.urlencoded({
extended: true }));
app.use(express.json());
app.post('/data', (req, res) => {
// 获取请求体数据
const data = req.body;
// 执行相应操作
saveData(data);
// 返回响应
res.send('Data saved successfully');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
express
上記のコードでは、メソッドを使用してアプリケーションを作成し、post
メソッドを使用して POST リクエストを処理します。req.body
リクエスト本体のデータはオブジェクトを通じて直接取得でき、対応する操作を実行できます。最後に、res.send()
メソッドを使用して、正常に保存された情報をクライアントに返します。
要約する
この記事では、Node.js で GET リクエストと POST リクエストを処理する方法について詳しく説明します。GET リクエストはリソースの取得とデータの読み取りに適しており、POST リクエストはデータの送信やリソースの作成、更新、削除などの操作に適しています。特定のニーズに応じて、これら 2 つのリクエストを処理する適切な方法を選択できます。
GET リクエストと POST リクエストを処理するときは、Node.js 組み込みhttp
モジュールまたはサードパーティ モジュールを使用できますexpress
。http
このモジュールは、リクエスト ロジックを柔軟に処理できる低レベル API を提供する一方、express
Web アプリケーションを迅速に構築できるより高度で簡潔な API を提供します。
この記事の学習を通じて、Node.js で GET リクエストと POST リクエストを処理する方法を習得したと思います。