Нет. Сначала обработайте ошибку транспорта, затем оцените HTTP-статус и тело по контракту API. Успех может быть 201, 202 или 204, а не только 200.
Достаточно ли проверять только `StatusOK` как критерий успешности HTTP-запроса? Как нужно учитывать сетевые ошибки, таймауты и другие статусы?
Нет. Сначала обработайте ошибку транспорта, затем оцените HTTP-статус и тело по контракту API. Успех может быть 201, 202 или 204, а не только 200.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Нет. Сначала обработайте ошибку транспорта, затем оцените HTTP-статус и тело по контракту API. Успех может быть 201, 202 или 204, а не только 200.
202 обычно означает принятие, но не завершение операции. 4xx и 5xx требуют разных действий; retry допустим лишь с учётом идемпотентности и лимитов. Закрывайте тело ответа, ограничивайте его чтение и используйте deadline. Даже 200 не гарантирует бизнес-успех, если API кодирует ошибку в payload.