Chuyển đến nội dung

Khắc phục lỗi xác thực yêu cầu

Dùng phản hồi 422 để tìm trường không hợp lệ và sửa cấu trúc hoặc giá trị của yêu cầu.

Đã cập nhật

Đọc phản hồi 422

Threetone trả về 422 Unprocessable Entity khi FastAPI không xác thực được dữ liệu đầu vào của yêu cầu. Phản hồi có một mảng detail. Mỗi mục gồm:

  • loc: vị trí tìm thấy giá trị không hợp lệ, chẳng hạn body, query hoặc path, theo sau là tên trường.
  • msg: lời giải thích dễ hiểu.
  • type: quy tắc xác thực không đạt.

Hãy bắt đầu với loc. Trường này cho biết phần nào của yêu cầu cần sửa.

Sửa yêu cầu

Trước khi gửi lại, hãy kiểm tra:

  1. Phương thức HTTP và đường dẫn /v1/... khớp với thao tác.
  2. Yêu cầu JSON có Content-Type: application/json và chứa JSON hợp lệ.
  3. Có đủ các trường bắt buộc và tên trường dùng đúng cách viết được tài liệu mô tả.
  4. Số, giá trị boolean, mảng và đối tượng dùng đúng kiểu JSON được yêu cầu.
  5. Giá trị enum và tham số truy vấn nằm trong các giá trị và phạm vi được cho phép.

Ví dụ: endpoint liệt kê tác nhân chấp nhận giá trị page_size từ 1 đến 100. Giá trị ngoài phạm vi sẽ tạo lỗi xác thực, trong đó loc chỉ ra querypage_size.

Không thử lại yêu cầu chưa thay đổi. Trước tiên hãy sửa giá trị được nêu, rồi gửi yêu cầu mới và lưu X-Request-Id nếu lỗi vẫn xảy ra.