Ngày 49 học MERN Stack
Tôi đang ở ngày thứ 49 trong hành trình trở thành một kỹ sư full-stack.
Hôm qua tôi đã làm việc với JavaScript classes và dữ liệu file bất đồng bộ (async). Hôm nay tôi tập trung vào backend routing. Tôi đã nghiên cứu về dynamic routing và các tham số đường dẫn biến đổi (variable path parameters).
Các đường dẫn tĩnh (static paths) sẽ không đáp ứng được khi bạn xây dựng các nền tảng lớn. Bạn không thể tạo một route riêng biệt cho mọi sản phẩm hoặc danh sách cho thuê trong cơ sở dữ liệu. Điều đó khiến việc mở rộng quy mô (scale) trở nên bất khả thi.
Hôm nay tôi đã xây dựng các endpoint linh hoạt. Các endpoint này tự điều chỉnh dựa trên dữ liệu trong URL.
Việc sử dụng các route khớp mẫu (pattern-matching routes) giúp quá trình xử lý của server nhanh hơn và gọn gàng hơn.
Đây là cách nó hoạt động trong Express:
- Đặt một dấu hai chấm trước một phần của đường dẫn.
- Điều này báo cho engine biết khối đó là một biến, không phải là một chuỗi ký tự thuần túy (literal string).
- Sử dụng
req.paramsđể truy cập dữ liệu này trong mã nguồn của bạn.
Trong tệp storeRouter.js của mình, tôi đã sử dụng mẫu này:
storeRouter.get('/home/:homeId', storeController.getHomeDetails);
:homeId đóng vai trò như một ký tự đại diện (wildcard). Điều này cho phép một route có thể xử lý hàng nghìn ID nhà khác nhau.
Source: https://dev.to/ali_hamza_589ec7b3eb6688d/day-49-of-learning-mern-stack-2ape