の は Express.js、 routing アプリケーションがユーザーから受信した HTTP リクエストを処理する方法を定義するための重要な概念です。 ルートを使用すると、ユーザーがアプリケーション上の特定の URL にリクエストを送信するときの特定のアクションを指定できます。
ステップ 1: 基本の作成 Route
route で を 作成するには、 アプリケーション オブジェクト( )のメソッド Express.js を使用して 、特定の HTTP メソッド METHOD とパス PATH に を登録します。 HANDLER は、リクエストがヒットしたときに呼び出されるハンドラー関数です 。 app.METHOD(PATH, HANDLER)
app
route route
たとえば、 へのリクエスト route を処理する を作成するには 、次のコードを使用できます。 GET
/hello
app.get('/hello',(req, res) => {
res.send('Hello, this is the /hello route!');
});
ステップ 2: リクエストとレスポンスの処理
ハンドラー関数では、ユーザーからの受信リクエストを処理し、 req
(リクエスト) res
オブジェクトと(レスポンス) オブジェクトを使用して応答できます。 オブジェクトに req
は、URL パラメータ、送信データ、送信者の IP アドレスなど、受信リクエストに関する情報が含まれます。オブジェクトには、 リクエスト res
に応答するメソッド( res.send()
、 など)が含まれます。 res.json()
res.render()
ステップ 3: 複数のルートの処理
Express.js を使用すると、異なる HTTP メソッドを使用して同じ URL に対して複数のルートを定義できます。 例えば:
app.get('/hello',(req, res) => {
res.send('Hello, this is the GET /hello route!');
});
app.post('/hello',(req, res) => {
res.send('Hello, this is the POST /hello route!');
});
ステップ 4: 動的パラメータの処理
コロン( :
) で定義された動的パラメータを含むルートを定義することもできます。 例えば:
app.get('/users/:id',(req, res) => {
const userId = req.params.id;
res.send(`Hello, this is the GET /users/${userId} route!`);
});
ユーザーが にリクエストを行うと /users/123
、 userId
変数の値は「123」になります。
ステップ 5: Routing モジュールで分離する
大規模なプロジェクトでは、ソース コードを整理して管理しやすくするために、ルートを別個のファイルに分割することができます。 を使用して module.exports
、別のファイルでルートを定義し、それらをメイン ファイルにインポートできます。 例えば:
// routes/users.js
const express = require('express');
const router = express.Router();
router.get('/profile',(req, res) => {
res.send('This is the /profile route in users.js!');
});
module.exports = router;
// app.js
const usersRouter = require('./routes/users');
app.use('/users', usersRouter);
ステップ 6: 存在しないルートの処理
最後に、ユーザーが存在しない をリクエストした場合 route 、それを処理する 404 を定義できます route。 route これを行うには、メイン ファイルの最後に デフォルトを設定します。
app.use((req, res, next) => {
res.status(404).send('Route not found!');
});
でルートを作成および処理する方法を学習しました Express.js。 この機能を使用すると、ユーザーのリクエストを柔軟かつ強力にカスタマイズして処理できるため、アプリケーションの適応性と拡張性が向上します。 リッチで素晴らしい Web アプリケーションを構築するためのルートを探索し、活用し続けてください。