routing ใน ExpressJS

Routing ใน ExpressJS หมายถึงการกำหนดเส้นทางการรับส่งข้อมูลไปยังส่วนต่างๆ ของแอปพลิเคชัน ExpressJS คุณสามารถกำหนดเส้นทางการรับส่งข้อมูลโดยใช้ฟังก์ชัน app.get(), app.post(), app.put(), และ app.delete()

ฟังก์ชันเหล่านี้แต่ละฟังก์ชันจะรับสองอาร์กิวเมนต์:

  • เส้นทาง: เส้นทางเป็น URI ที่สอดคล้องกับเส้นทางการรับส่งข้อมูล
  • ฟังก์ชันจัดการ: ฟังก์ชันจัดการคือฟังก์ชันที่ทำงานเมื่อเส้นทางถูกจับคู่

ตัวอย่างเช่น โค้ดต่อไปนี้จะกำหนดเส้นทางการรับส่งข้อมูลไปยังหน้าแรกของแอปพลิเคชัน ExpressJS:

1
2
3
4
5
6
7
8
9
10
11
const express = require('express');

const app = express();

app.get('/', (req, res) => {
res.send('Hello, World!');
});

app.listen(3000, () => {
console.log('Server started on port 3000');
});

เมื่อคุณรันโค้ดนี้ คุณสามารถไปที่ http://localhost:3000 เพื่อดูข้อความ “Hello, World!”

คุณยังสามารถใช้ฟังก์ชัน app.all() เพื่อกำหนดเส้นทางการรับส่งข้อมูลให้กับทุกวิธีการ HTTP:

1
2
3
4
5
6
7
8
9
10
11
const express = require('express');

const app = express();

app.all('/', (req, res) => {
res.send('Hello, World!');
});

app.listen(3000, () => {
console.log('Server started on port 3000');
});

โค้ดนี้จะทำให้แอปพลิเคชัน ExpressJS ตอบสนองด้วยข้อความ “Hello, World!” ในทุกวิธีการ HTTP ไม่ว่าคำขอนั้นจะเป็นแบบ GET, POST, PUT หรือ DELETE

ExpressJS ยังมีฟังก์ชัน app.param() ซึ่งช่วยให้คุณจับคู่พารามิเตอร์ในเส้นทาง:

1
2
3
4
5
6
7
8
9
10
11
12
13
const express = require('express');

const app = express();

app.get('/users/:id', (req, res) => {
const id = req.params.id;

res.send(`User with ID ${id}`);
});

app.listen(3000, () => {
console.log('Server started on port 3000');
});

โค้ดนี้จะกำหนดเส้นทางการรับส่งข้อมูลไปยังผู้ใช้ที่มี ID ที่กำหนด เมื่อคุณไปที่ http://localhost:3000/users/1 โค้ดจะส่งข้อความ “User with ID 1”

คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Routing ใน ExpressJS ได้จากเอกสารประกอบของ ExpressJS