Задать вопрос
@AlexNew22

Как правильно обрабатывать положительные запросы с 400 статусом на клиенте?

Прочитал статью, что на запрос к БД, если у нас не находит к примеру пользователя, то нужно слать в ответ не NULL, а ответ с 404 статусом
И получается, что у нас странная обработка запросов через try catch получается, где мы в catch ловим не ошибку, а обрабатываем нормальную логику, откуда мы дадим знать, что такого пользователя не существует
Суть задачи - проверка в БД существование пользователя и в моем понимании это было так
const getUser = fetch(...)
if(!getUser) { console.log('Пользователь не существует'); greateUser(id); return; }
console.log('Hello User')


А так получается нужно делать
try {
  const getUser = fetch(...)
  console.log('Hello User')
}
catch(err) { if(err.status === 404) {
console.log('Пользователь не существует')
greateUser(id)
}}
  • Вопрос задан
  • 89 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Отправлять HTTP 200 или 404 - это исключительно фича HTTP протокола и к базам данных она не
имеет никакого отношения.

Ты можешь использовать коды HTTP состояний для поддержки статусов ошибок. Это идеология REST но она носит рекомендательный характер. Никто не сможет тебя осуждать за то что ты ее не применяешь или как-то по другому применяешь.

Кстати непонятно как ты раньше слал NULL. Ответ должен быть типизированный. Если это User - то нужно форматировать Json/Xml представление. И где там можно впихнуть null - непонятно.

Если хочешь абсолютной строгости - то бери SOAP или gRPC. Это протоколы удалённого вызова методов и в них на уровне исходного кода не так просто что-то игнорировать или забивать болт на ошибки и исключения. Ну по крайней мере с точки зрения code-review будет очевидно что ты - халтурил.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы