Trình kiểm định model tùy chỉnh
Bạn có một API để cập nhật tồn kho và được yêu cầu hiển thị thông báo lỗi thân thiện khi người dùng nhập số lượng âm.
Ngoại lệ RequestValidationError đã được nạp sẵn cho bạn.
Bài tập này là một phần của khóa học
Triển khai AI vào môi trường sản xuất với FastAPI
Hướng dẫn bài tập
- Import annotation dành cho kiểm định model tùy chỉnh.
- Triển khai kiểm định model tùy chỉnh chạy
"after"so với các kiểm định mặc định của model. - Ném ngoại lệ
RequestValidationErrorđể hiển thị lỗi kiểm định cho người dùng API.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Import annotation for custom validation
from pydantic import BaseModel, ____
class InventoryRecord(BaseModel):
name: str
quantity: int
# Create custom validator that runs after default validation
@model_validator(mode="____")
def validate_after(self):
if len(self.quantity) < 0:
# Raise request validation error
raise ____(
"Negative quantity is not allowed!"
)
return self