1. API Validation là gì?
API Validation là quá trình kiểm tra dữ liệu mà Client gửi lên API có đúng định dạng, đúng kiểu dữ liệu và hợp lệ theo business rule hay không trước khi xử lý.
Ví dụ Client gửi:
{
"name": "",
"age": -5,
"email": "abc"
}
API cần kiểm tra:
namecó được để trống không?agecó phải số hợp lệ không?agecó lớn hơn 0 không?emailcó đúng định dạng không?
Nếu dữ liệu không hợp lệ → API trả lỗi thay vì tiếp tục xử lý.
2. Vì sao cần Validation?
Validation giúp:
- Ngăn dữ liệu sai đi vào hệ thống.
- Tránh lỗi khi xử lý hoặc lưu Database.
- Đảm bảo dữ liệu nhất quán.
- Phản hồi lỗi rõ ràng cho Client.
- Giảm các lỗi phát sinh ở những tầng phía sau.
- Tăng độ an toàn cho API.
Có thể hiểu đơn giản:
Client
↓
Request
↓
Validation
↓
Dữ liệu hợp lệ?
├── Không → Trả lỗi
│
└── Có
↓
Business Logic
↓
Database
3. Validation thường kiểm tra những gì?
validation thường kiểm tra field bắt buộc phải có
{
"name": "Nguyen Van A"
}
kiểm tra không được rỗng
null
""
" "
Ví dụ:
@NotBlank
private String name;
@noteBlank thường dùng khi String không được null không được rỗng và không chứa khoản trắng
kiểm tra về độ dài của ky tự.
Ví dụ username phải từ 3–20 ký tự:
@Size(min = 3, max = 20)
private String username;
4. Validation khác Business Rule như thế nào?
validation sẽ kiểm tra dữ liệu đầu và có khớp và đúng hay không.
còn Business Rule là kiểm tra logic nghiệp vụ
Ví dụ:
User phải đủ 18 tuổi mới được đăng ký.
Email không được trùng với tài khoản đã tồn tại.
Sản phẩm chỉ được đặt nếu còn hàng.
User chỉ được hủy đơn hàng khi đơn đang ở trạng thái PENDING.
5. Validation với REST API
Ví dụ API:
POST /users
Request:
{
"name": "",
"email": "abc",
"age": 15
}
API có thể trả:
400 Bad Request
với:
{
"message": "Validation failed",
"errors": {
"name": "Name is required",
"email": "Invalid email",
"age": "Age must be at least 18"
}
}
6. Tóm lại
validation là kiểm tra dữ liệu đưa vào có đúng yêu cầu cơ bản hay không nếu đúng sẽ xử lý tiếp không sẽ xuất thông báo lỗi. việc check lỗi đầu vào bằng validation sẽ giúp giảm request rác không cần thiết.








Khoá học lập trình game con rắn cho trẻ em




