Выбор ответа 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 и другие.

Варианты ответа

  1. HTTP-кодом 404 в ответе, как в REST, плюс описание в теле
  2. Своим статусом NOT_FOUND (код 5), HTTP-статус обычно 200правильный ответ
  3. Пустым сообщением без ошибки, клиент проверяет поля сам
  4. Исключением на клиенте без кода, причину видно только в логах

Разбор

У 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 ошибок.