gRPC
Клацніть правою кнопкою в дереві ▸ Додати ▸ Запит gRPC.

Конфігурація
Section titled “Конфігурація”| Поле | Роль |
|---|---|
| URL | host:port сервера |
| Служба / Метод | Служба й викликана RPC |
| Тип виклику | unary, server-stream, client-stream, bidirectional-stream |
| Повідомлення запиту | Повідомлення у форматі JSON |
| Метадані | Пари ключ / значення, що передаються з викликом (саме тут проходять облікові дані) |
Звідки береться визначення служби
Section titled “Звідки береться визначення служби”Три можливі джерела в порядку пріоритету:
- набір дескрипторів, отриманий серверною рефлексією, — саме його задає імпорт через рефлексію, і він має перевагу над рештою;
- вбудований вміст
.proto, збережений у проєкті; - шлях до файлу
.protoна диску.
Перший варіант має важливий практичний наслідок: запит, імпортований через рефлексію, продовжує працювати офлайн, навіть якщо сервер недосяжний.
Імпорт через рефлексію
Section titled “Імпорт через рефлексію”У модальному вікні імпорту gRPC вкажіть host:port: Restorm звернеться до
служби рефлексії, завантажить дескриптори й побудує дерево — по теці на кожну
службу, по запиту на кожну RPC, зі зразком повідомлення.
Повторне підключення до тієї самої адреси розпізнається як повторна синхронізація й оновлює наявне дерево замість того, щоб його дублювати.
Якщо сервер не реалізує рефлексію, Restorm явно про це повідомить: тоді
імпортуйте .proto. Див.
Імпорт .proto для gRPC.
Транспорти
Section titled “Транспорти”Доступні три транспорти:
| Транспорт | Коли використовувати |
|---|---|
grpc (типово) | Нативний gRPC поверх HTTP/2 |
grpc-web | Сервер за проксі gRPC-Web |
connect | Сервер Connect-RPC |
Потокові виклики
Section titled “Потокові виклики”Для всіх трьох потокових режимів панель відповіді показує повідомлення одне за одним. У сценарії використовуйте дії З’єднання gRPC, Надсилання gRPC та Закриття gRPC: з’єднання залишається відкритим між блоками, кожне отримане повідомлення генерує подію, а закриття виконує напівзакриття з боку клієнта.
Режим сервера
Section titled “Режим сервера”Restorm уміє розміщувати сервер симуляції gRPC: перелік імітованих методів, кожен зі своїм повідомленням-відповіддю (масив JSON для потоку), кодом статусу, кінцевими метаданими або скриптом. Серверна рефлексія типово виставлена назовні, а TLS налаштовується сертифікатом і ключем у форматі PEM. Див. Імітація служби gRPC.
Фрагменти коду
Section titled “Фрагменти коду”Чотирнадцять цілей: grpcurl, grpc_cli, grpcurl у режимі gRPC-Web, curl
у режимі Connect-RPC, JavaScript і TypeScript (@grpc/grpc-js), Python
(grpcio), Go, Java (grpc-java), C# (Grpc.Net.Client), Ruby, Rust (tonic),
Kotlin (grpc-kotlin), Swift (grpc-swift).