Skip to content

Skill / /express-service-patterns

/express-service-patterns

Quy ước viết backend Express legacy — controller/service, response envelope, xử lý lỗi bất đồng bộ.

Cách gọi

text
/express-service-patterns

Khi nào dùng

Khi viết hoặc sửa code backend Express kiểu cũ. Cần cài đặt trước bằng lệnh cài skill coding, xem Chọn workflow.

Cách hoạt động

  1. Skill hướng dẫn tách controller và service: controller chỉ giải mã request rồi giao cho service, không tự chạy truy vấn hay quy tắc nghiệp vụ, và mọi handler bọc trong try/catch, chuyển lỗi bắt được sang cho middleware xử lý lỗi thay vì tự trả response.
  2. Skill mô tả cách truy cập dữ liệu qua một registry tổng hợp một lần, thay vì mỗi service tự require client kết nối riêng — đổi hoặc mock client về sau chỉ cần sửa một chỗ.
  3. Skill mô tả một helper envelope duy nhất cho mọi response thành công, vì lớp trung gian phía frontend chỉ nhận diện đúng shape đó — một controller gọi thẳng cách trả response khác sẽ tạo ra một shape mà frontend không nhận ra.
  4. Skill nêu thứ tự đăng ký middleware là ranh giới phân quyền thật sự trong một app không dùng decorator guard: một route đăng ký trước middleware xác thực sẽ chạy mà không có thông tin người dùng.
  5. Skill nhắc cách xử lý lỗi bất đồng bộ: một throw bên trong handler async không tự động tới middleware xử lý lỗi như throw đồng bộ — cách xử lý ở đây là try/catch kỷ luật trong từng handler, kết thúc bằng chuyển lỗi cho middleware.

Lưu ý

Phần model Mongoose phía sau registry truy cập dữ liệu ở trên thuộc về skill mongoose-modeling; bẫy tenant-scoping và truy cập trực tiếp bỏ qua schema trên cùng collection thuộc về mongo-data-safety.