Routing
Routing คืออะไร?
หัวข้อที่มีชื่อว่า “Routing คืออะไร?”Routing คือกระบวนการตัดสินใจว่า code ส่วนใดจะจัดการ HTTP request ที่เข้ามา โดยพิจารณาจากสอง property ของ request:
req.method— HTTP verb เช่นGET,POST,PUT,DELETEreq.url— path (และ query string ถ้ามี) เช่น/users,/users/42,/search?q=node
server ของ Node.js มีทั้งสองอย่างให้พร้อม คุณเพียงแค่เขียน logic ที่ map ทั้งสองไปยัง handler
Manual routing ด้วย if/else
หัวข้อที่มีชื่อว่า “Manual routing ด้วย if/else”router ที่ง่ายที่สุดคือ chain ของ if statement:
Needs the Node.js runtime — open in StackBlitz to run.
Parse URL ด้วย URL class
หัวข้อที่มีชื่อว่า “Parse URL ด้วย URL class”เมื่อ URL มี path parameter หรือ query string ให้ใช้ global URL constructor ของ Node เพื่อ parse อย่างสะอาดสะอ้าน ส่ง req.url เป็น argument แรกและ base ปลอมเป็น argument ที่สอง:
Needs the Node.js runtime — open in StackBlitz to run.
Tiny router object
หัวข้อที่มีชื่อว่า “Tiny router object”เมื่อมี route มากกว่าสองสามอัน ควร extract ออกมาเป็น router map pattern นี้คือสิ่งที่ Express ใช้ภายใน:
Needs the Node.js runtime — open in StackBlitz to run.