Tôi có một dịch vụ mà một số quy tắc xác nhận phải được kiểm tra trước khi một hoạt động cụ thể có thể diễn ra.Trả lại HTTP 409 có phù hợp để kiểm tra xác thực không?
Ví dụ: khách hàng không được tạo báo cáo có thể in nếu tất cả các quy tắc xác thực không được đáp ứng. Tuy nhiên, một khách hàng cá nhân có thể không có tất cả thông tin cần thiết (người dùng đó chỉ có thể truy cập một tập con dữ liệu được sử dụng để xác định thành công xác thực), vì vậy yêu cầu phải được gửi đến máy chủ: về cơ bản "là một số thing
hợp lệ giữa start
và finish
".
Phản hồi sẽ là một số loại mã thông báo cho biết VALID: FEEL FREE TO CONTINUE
hoặc danh sách lý do lỗi xác thực, có thể được trình bày cho người dùng.
Rõ ràng là xác thực thành công sẽ trả về 200 OK
. Nhưng tôi không cảm thấy rằng mã trạng thái thành công là thích hợp cho lỗi xác thực. Tôi đang hướng tới một số 409 Conflict
, nhưng tôi đã từng sử dụng điều này để từ chối một số PUT
hoặc POST
. Có hợp lệ (snicker) để có lỗi xác thực được chỉ ra bởi một số 409
hoặc có cách nào tốt hơn không?
Lưu ý: hành động được thực hiện không được thực hiện trên máy chủ, vì vậy bỏ qua kiểm tra này và chỉ thực hiện hành động với 403
trong trường hợp hành động bị cấm không phải là một tùy chọn.
Bạn đã yêu cầu thông tin xác nhận từ máy chủ. Nó đã tuân thủ. Cảm thấy như thành công với tôi (từ một quan điểm HTTP) –
Damien_The_Unbeliever: Nếu bạn đặt câu trả lời này vào một câu trả lời, tôi sẽ chấp nhận nó. –