วันที่ 38 ของการเรียนรู้ MERN Stack
ผมเดินทางมาถึงวันที่ 38 ของการเรียนรู้ MERN stack แล้ว
เมื่อวานนี้ ผมได้เรียนรู้วิธีการดึง query strings ออกจาก URL และวันนี้ ผมได้ศึกษาเรื่อง HTTP request methods
ก่อนหน้านี้ เซิร์ฟเวอร์ของผมจะจัดการกับทุก request เหมือนกันหมด แต่ตอนนี้ ผมสามารถทำให้ backend ทำงานที่แตกต่างกันออกไปตามความต้องการของผู้ใช้ สิ่งนี้เปลี่ยนจาก endpoint ที่คงที่ให้กลายเป็นเครื่องมือที่ทำงานได้หลากหลาย
ผมเน้นไปที่ property req.method ซึ่ง property นี้จะบอกเซิร์ฟเวอร์ว่า client ต้องการจะทำอะไร
นี่คือ 4 methods หลักที่ผมได้เรียนรู้:
- GET: ใช้สำหรับอ่านหรือดึงข้อมูล
- POST: ใช้สำหรับส่งหรือสร้างข้อมูลใหม่
- PUT และ PATCH: ใช้สำหรับอัปเดตข้อมูลที่มีอยู่
- DELETE: ใช้สำหรับลบข้อมูลออกจากเซิร์ฟเวอร์
เมื่อคุณใช้ req.method คุณจะสามารถควบคุม logic ของแอปพลิเคชันได้ คุณสามารถกำหนดได้ว่าผู้ใช้กำลังเข้าชมหน้าเว็บหรือกำลังส่งฟอร์มผ่าน URL เดียวกัน
Code example:
const http = require("http");
const server = http.createServer((req, res) => { if (req.url === "/api/data") { if (req.method === "GET") { res.writeHead(200, { "Content-Type": "text/plain" }); res.end("Reading database records..."); } else if (req.method === "POST") { res.writeHead(201, { "Content-Type": "text/plain" }); res.end("Creating new data!"); } } else { res.end("Standard Route"); } }); server.listen(8000);
Source: https://dev.to/ali_hamza_589ec7b3eb6688d/day-38-of-learning-mern-stack-opl