Spring 30/06/2026 7 phút

Hai điều về Filter và Interceptor đi ngược sách vở: Interceptor CÓ chạy cho file tĩnh, và request lỗi qua chuỗi lọc hai lần

Filter như cổng an ninh ngoài cùng của sân bay — ai cũng qua, kể cả hàng hoá; Interceptor như nhân viên cổng ra máy bay, biết chính xác chuyến của bạn. Đo bốn trường hợp biên, hai kết quả bất ngờ, và hệ quả với MDC, đếm chỉ số, xác thực.

Spring 27/06/2026 6 phút

Bắt Exception là biến mọi 400 và 415 của Spring thành 500 — kế thừa handler có sẵn, đừng bắt tất

Xử lý ngoại lệ như một bàn điều phối cấp cứu: mọi sự cố dồn về một chỗ, mỗi cái được gán một mã chuẩn. Bắt Exception là ông điều phối lười gán mọi cuộc gọi thành 'khẩn cấp chung'. @RestControllerAdvice, ProblemDetail chuẩn RFC 7807, và cách chữa.

Spring 26/06/2026 6 phút

Thiếu @Valid là mọi ràng buộc bị bỏ qua trong im lặng — và validation không bao giờ thay được kiểm nghiệp vụ

Bean Validation như một tấm khuôn úp lên dữ liệu đến: mỗi chú thích kiểm một ô phải vừa khuôn, và nó chỉ soát HÌNH DẠNG chứ không soát sự thật. @Valid khác @Validated, gom hết lỗi một lần, thông báo tiếng Việt, và ranh giới 400 với 409.

Spring 24/06/2026 6 phút

Mọi request Spring đi qua đúng một cửa — và Filter khác Interceptor không phải ở việc làm, mà ở TẦNG

Một request như bưu phẩm qua trung tâm chia thư: cổng ngoài soát mọi kiện (Filter, tầng Servlet), một quầy điều phối trung tâm đọc địa chỉ rồi giao đúng nhân viên (DispatcherServlet → @Controller), và các chốt tại quầy chỉ thấy thư đã được định tuyến (Interceptor). Sáu bước in ra thật.