Routing และ middleware เป็นสองแนวคิดที่สำคัญใน Node.js และ Express เฟรมเวิร์กสำหรับการสร้างเว็บแอปพลิเคชัน
Routing:
- Routing เป็นกระบวนการกำหนดวิธีจัดการคำขอจากลูกค้าและตอบสนองด้วยทรัพยากรที่สอดคล้องกันบนเซิร์ฟเวอร์
- ใน Express เราสามารถกำหนดเส้นทางโดยระบุเมธอด HTTP(GET, POST, PUT, DELETE ฯลฯ) และเส้นทาง URL ที่เกี่ยวข้อง
- แต่ละเส้นทางสามารถมีฟังก์ชันตัวจัดการตั้งแต่หนึ่งฟังก์ชันขึ้นไปเพื่อดำเนินการต่างๆ เช่น การประมวลผลคำขอ การเข้าถึงฐานข้อมูล และส่งการตอบกลับไปยังไคลเอนต์
Middleware:
- Middleware เป็นฟังก์ชันที่ดำเนินการตามลำดับก่อนที่คำขอจะไปถึงตัวจัดการเส้นทางสุดท้าย
- ใช้เพื่อดำเนินการฟังก์ชันทั่วไปและจัดการงานระดับกลาง เช่น การพิสูจน์ตัวตน การบันทึก การจัดการข้อผิดพลาด ฯลฯ
- Middleware ใช้ได้กับทั้งแอปพลิเคชันหรือระบุเฉพาะเส้นทางก็ได้
- แต่ละรายการ middleware ได้รับพารามิเตอร์ req(คำขอ) และ res(การตอบสนอง) และสามารถดำเนินการประมวลผล ส่งคำขอไปยังรายการถัดไป middleware หรือสิ้นสุดการประมวลผลโดยส่งการตอบกลับไปยังไคลเอนต์
ตัวอย่างการรวม Routing และ Middleware ใน Express:
ในตัวอย่างนี้ เราได้กำหนดแบบกำหนดเอง เพื่อบันทึกทุกคำขอใหม่ที่มาถึงเซิร์ฟเวอร์ สิ่งนี้ ใช้กับแอปพลิเคชันทั้งหมดโดยใช้ วิธีการ จากนั้น เราได้กำหนดสองเส้นทาง เส้นทางหนึ่งสำหรับหน้าหลัก( ) และอีกเส้นทางหนึ่งสำหรับหน้าเกี่ยวกับ( ) สุดท้าย เราเริ่มเซิร์ฟเวอร์และฟังที่พอร์ต 3000 middleware loggerMiddleware
middleware app.use()
'/'
'/about'
จะ ดำเนินการสำหรับทุกคำขอ บันทึกข้อความไปยังคอนโซลก่อนที่จะส่งคำขอไปยังตัวจัดการเส้นทางที่เกี่ยวข้องหรือ ในลำดับ middleware loggerMiddleware
middleware
การรวมกันของ routing และ middleware ช่วยให้เราจัดการกับคำขอที่แตกต่างกันและทำงานทั่วไปได้อย่างมีประสิทธิภาพในแอ Express ปพลิเคชัน