Giao diện
Cấu hình node - Request Interceptor
Trigger hoạt động như middleware chặn API request khớp điều kiện, chạy workflow xử lý, rồi quyết định cho phép tiếp tục hoặc trả lỗi.
Bảng tham số cấu hình
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|---|
collection | string | Có | — | Collection cần chặn request |
action | string | Có | — | Action cần chặn: create, update, destroy, list, get |
global | boolean | Không | false | Khi true, chặn tất cả collection (bỏ qua filter collection) |
onError | string | Không | reject | Hành vi khi workflow lỗi: continue (cho qua) hoặc reject (từ chối) |
Dữ liệu đầu vào (Input)
| Tên | Kiểu | Mô tả |
|---|---|---|
request.params | object | Tham số request (filter, values, sort, ...) |
request.action | string | Tên action đang thực hiện |
request.body | object | Body của HTTP request |
user | object | Thông tin người gửi request |
Dữ liệu đầu ra (Output)
| Tên | Kiểu | Mô tả |
|---|---|---|
status | string | pass (cho phép tiếp tục) hoặc reject (từ chối request) |
message | string | Thông báo lỗi tùy chỉnh khi reject |
Thời điểm can thiệp
| Thời điểm | Mô tả | Ví dụ sử dụng |
|---|---|---|
| Pre-action | Chặn trước khi handler xử lý | Validation, enrichment dữ liệu |
| Post-action | Chặn sau khi handler xử lý | Audit logging, notification |
Lưu ý quan trọng
- Interceptor chạy đồng bộ - workflow phải hoàn thành trước khi request tiếp tục
- Workflow trong interceptor nên chạy nhanh (dưới vài giây) để tránh timeout client
- Cấu hình
onError: "continue"để tránh block request khi workflow gặp lỗi ngoài dự kiến - Không nên dùng node Delay hoặc Manual bên trong workflow interceptor
- Kiểm tra kỹ điều kiện match (collection + action) để tránh chặn nhầm request hệ thống
- Khi
global: true, interceptor áp dụng cho mọi collection - dùng cẩn thận vì ảnh hưởng hiệu suất toàn hệ thống