Я отдыхаю, получаю, помимо прочего, свидание и вместе с ним оговариваюсь. Проблема возникает, когда 2 человека «одновременно» пытаются забронировать номер в один и тот же день в одно и то же время.
Очевидно, что первый, кто сделает запрос, сможет записаться на встречу, поэтому я верну статус 200. С другой стороны, тот, который прибывает позже, сделает тот же запрос, но сервер выдаст ошибку, потому что не может зарезервировать ту же встречу (уже зарезервирована). В этом случае какой код состояния http должен быть выдан?
Семейный код 500 не может показаться правильным, потому что выбрасываемое исключение вызвано самой логикой бизнеса.
С другой стороны, код штата семейства 400 также не будет правильным, потому что запрос хорошо сформулирован
Спасибо!