Выбор ответа Middle gRPC, GraphQL и WebSocket обновлено
Коды ошибок gRPC
Вопрос
Как gRPC сообщает о том, что запрошенный объект не найден?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Своим статусом NOTFOUND (код 5), HTTP-статус обычно 200. У gRPC свои коды: OK 0, INVALIDARGUMENT 3, DEADLINEEXCEEDED 4, NOTFOUND 5, PERMISSIONDENIED 7, UNAVAILABLE 14, UNAUTHENTICATED 16 и другие.
Варианты ответа
- HTTP-кодом 404 в ответе, как в REST, плюс описание в теле
- Своим статусом
NOT_FOUND(код 5), HTTP-статус обычно 200правильный ответ - Пустым сообщением без ошибки, клиент проверяет поля сам
- Исключением на клиенте без кода, причину видно только в логах
Разбор
У gRPC свои коды: OK 0, INVALID_ARGUMENT 3, DEADLINE_EXCEEDED 4, NOT_FOUND 5, PERMISSION_DENIED 7, UNAVAILABLE 14, UNAUTHENTICATED 16 и другие. Они передаются в трейлерах grpc-status, а HTTP/2-ответ обычно 200. Проверять в тестах нужно именно gRPC-статус.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.