какой код состояния выбрасывать при возникновении ошибки параллелизма? - PullRequest
0 голосов
/ 08 января 2019

Я отдыхаю, получаю, помимо прочего, свидание и вместе с ним оговариваюсь. Проблема возникает, когда 2 человека «одновременно» пытаются забронировать номер в один и тот же день в одно и то же время.

Очевидно, что первый, кто сделает запрос, сможет записаться на встречу, поэтому я верну статус 200. С другой стороны, тот, который прибывает позже, сделает тот же запрос, но сервер выдаст ошибку, потому что не может зарезервировать ту же встречу (уже зарезервирована). В этом случае какой код состояния http должен быть выдан?

Семейный код 500 не может показаться правильным, потому что выбрасываемое исключение вызвано самой логикой бизнеса.

С другой стороны, код штата семейства 400 также не будет правильным, потому что запрос хорошо сформулирован

Спасибо!

...