Czy zwracanie HTTP 409 jest odpowiednie dla sprawdzenia poprawności?

Mam usługę, w której niektóre reguły walidacji muszą zostać sprawdzone, zanim dana operacja powinna być możliwa.

Na przykład klient nie powinien generować drukowalnych raportów, jeśli wszystkie zasady walidacji nie są spełnione.

Jednak pojedynczy klient może nie mieć wszystkich wymaganych informacji (użytkownik może mieć dostęp tylko do podzbioru danych, który jest używany do określenia powodzenia walidacji), więc żądanie musi zostać wysłane do serwera: w zasadzie „jest tothing ważne międzystart ifinish

Odpowiedź będzie albo jakimś żetonem, który wskazujeVALID: FEEL FREE TO CONTINUElub listę przyczyn niepowodzenia walidacji, które można przedstawić użytkownikowi.

To oczywiste, że udana walidacja zwróci a200 OK. Ale nie uważam, że kod statusu sukcesu jest odpowiedni dla niepowodzenia sprawdzania poprawności. Skłaniam się ku a409 Conflict, ale kiedykolwiek użyłem tego do odrzuceniaPUT lubPOST. Czy poprawne jest wskazanie błędu sprawdzania poprawności (chrapanie)409, Czy jest jakiś lepszy sposób?

Uwaga: wykonywana akcja nie jest wykonywana na serwerze, więc pomijanie tego sprawdzenia i próba wykonania akcji, za pomocą403 w przypadku zakazanej akcji nie jest to możliwe.

questionAnswers(4)

yourAnswerToTheQuestion