Ngày 38 học MERN Stack
Tôi đang ở ngày thứ 38 trong hành trình học MERN stack của mình.
Hôm qua, tôi đã học cách trích xuất query string từ một URL. Hôm nay, tôi đã nghiên cứu về các phương thức HTTP request.
Trước hôm nay, server của tôi xử lý mọi request theo cùng một cách. Giờ đây, tôi có thể khiến backend thực hiện các hành động khác nhau dựa trên ý định của người dùng. Điều này biến một endpoint tĩnh thành một công cụ có chức năng thực tế.
Tôi đã tập trung vào thuộc tính req.method. Thuộc tính này cho server biết client muốn làm gì.
Dưới đây là bốn phương thức chính mà tôi đã học:
- GET: Sử dụng để đọc hoặc lấy dữ liệu.
- POST: Sử dụng để gửi hoặc tạo dữ liệu mới.
- PUT và PATCH: Sử dụng để cập nhật dữ liệu hiện có.
- DELETE: Sử dụng để xóa dữ liệu khỏi server.
Khi bạn sử dụng req.method, bạn kiểm soát được logic của ứng dụng. Bạn quyết định xem người dùng sẽ xem một trang hay gửi một biểu mẫu tại cùng một URL.
Ví dụ mã nguồn:
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);
Nguồn: https://dev.to/ali_hamza_589ec7b3eb6688d/day-38-of-learning-mern-stack-opl