-
Notifications
You must be signed in to change notification settings - Fork 133
Использование встроенного в продукты Intellij gRPC-клиента #4
Copy link
Copy link
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
Добрый день.
Не знаю, достойно ли это упоминания в документации, но мне удалось подтвердить работоспособность запросов в Intellij GoLand 2021.3.1
Для начала, плагин GRPC еще в зачаточном состоянии, поэтому много еще не работает. Например, он не осилил включить TLS и прокинуть заголовок Authorization. Поэтому настраиваем nginx примерно с таким конфигом:
server {
listen 9000 http2;
location / {
# подстилка под Intellij gRPC plugin, который не пробрасывает заголовки
grpc_set_header Authorization "Bearer t.myLongTokenValue";
# подстилка под Intellij gRPC plugin, который не включает TLS
grpc_pass grpcs://invest-public-api.tinkoff.ru:443;
}
}
- Загружаем proto-файлы в любую директорию проекта
- В Settings - Languages & Frameworks - Protocol Buffers вручную добавляем путь до этой директории, чтобы IDE увидело proto-файлы
- Открываем proto-файл, напротив rpc вызовов будет иконка "Generate request in HTTP Client"
- При клике откроется редактор файла "generated-requests.http" где-то в недрах директорий IDE, где из-за многочисленных недоработок плагина GRPC надо указать в качестве хоста адрес локального nginx (
localhost:9000).
В итоге, получаем рабочие "простые" запросы:
localhost:9000/tinkoff.public.invest.api.contract.v1.UsersService/GetInfo
{
"qualifiedForWorkWith": [
"bond",
"foreign_etf",
"foreign_shares"
]
}
Response file saved.
> 2021-12-30T120506.OK.json
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation