170 похожих чатов

Как реализовать grpc ендпоинт, чтобы фронтенд получал ответ в формате

json?

62 ответов

35 просмотров
SD- Автор вопроса

?

!

По какому протоколу ты хочешь, чтобы фронтенд получал json?

SD- Автор вопроса
Alexander
По какому протоколу ты хочешь, чтобы фронтенд полу...

Вообще вопрос странный, grpc использует http2, и бинарный формат данных, фронт требует json, можно же преобразовать бинарные данные в json и вернуть фронту

SD
http2

По http2 или по grpc?

SD
Вообще вопрос странный, grpc использует http2, и б...

Можно, но этим будет не grpc-эндпоинт заниматься. Можешь написать сервис-прослойку, который будет забирать данные по grpc и отдавать json-ом по http. Ну или добавить в сервис http+json эндпоинты

SD- Автор вопроса
Alexander
Можно, но этим будет не grpc-эндпоинт заниматься. ...

Да, я вот и спросил с целью узнать как правильнее сделать

SD
Да, я вот и спросил с целью узнать как правильнее ...

Зависит от того, как тебе удобнее, в общем-то. Либо от корпоративной политики :)

SD- Автор вопроса
Alexander
Зависит от того, как тебе удобнее, в общем-то. Либ...

А вообще при состыковке react и grpc, как лучше фронту отдавать?

SD
А вообще при состыковке react и grpc, как лучше фр...

Никак, браузеры не умеют работать с grpc. Делай для браузеров отдельные эндпоинты.

SD
А вообще при состыковке react и grpc, как лучше фр...

Можешь попробовать посмотреть в сторону grpc-web, который предлагает прокси, транслируют grpc в удобоваримую для браузерного js-а форму.

Java RPC

SD- Автор вопроса
Mark Maxwell
Java RPC

Прикол из требований в вакансии, в golang jobs

SD- Автор вопроса
Alexander
Можешь попробовать посмотреть в сторону grpc-web, ...

- во-первых обработка ошибок оч плохая - во-вторых заголовки неадаптированные типа grpc-status заставят поплясать - в-третьих у нас были сложности с отображением ответа в браузере кароч тулинг не готов был либо фронтендеры не могли этим занятьс и не хотели Может envoy?

SD
- во-первых обработка ошибок оч плохая - во-вторых...

Я его не юзал. Вообще, я бы просто отдельный набор эндпоинтов под потребности браузера нарисовал.

SD- Автор вопроса
Alexander
Я его не юзал. Вообще, я бы просто отдельный набор...

Можешь пример показать плиз, где rest используется рядом с эндпоинтами grpc?

SD
Можешь пример показать плиз, где rest используется...

В паблике нет, но на предыдущем месте работы так активно делали, пока техдир с подачи безопасников не приказал распилить сервисы на отдельно grpc-бэки с бизнес-логикой и обертки с http api и фронтом.

Я читал статью, что разделять еще правильно надо.

SD- Автор вопроса
Alexander
В паблике нет, но на предыдущем месте работы так а...

Хм, а что опасного держать в одном месте grpc и rest?

SD- Автор вопроса
Alexander
В паблике нет, но на предыдущем месте работы так а...

Т е фронт дёргал обертки http api а обертки в свою очередь обращались к grpc?

SD
Т е фронт дёргал обертки http api а обертки в свою...

У меня такое было на нескольких проектах, при чём везде по разному назывался "gateway service", "frontend service", "api service". HTTP в мир, а внутри всё на gRPC

SD- Автор вопроса

В delivery его надо, не в адаптеры

SD
В delivery его надо, не в адаптеры

Точно понимаешь про что я говорю ?

SD- Автор вопроса
SD
В delivery его надо, не в адаптеры

delivery это что? Контроллеры?

SD
Про чистую архитектуру

Про хексогональную. Где есть driven и secondary adapter. (В целом идейно чистая) Мне кажется, grps — это presentation слой. Просто не совсем понимаю что такое delivery

SD- Автор вопроса
Bol4onok
Точно понимаешь про что я говорю ?

В адаптерах gateway как правило для dao, delivery он же presentation layer используется для grpc, http api, graphql

SD
В адаптерах gateway как правило для dao, delivery ...

В хексогональной два вида адаптеров. Primary — presentation. Secondary — инфраструктурные. С разных сторон типо.

SD- Автор вопроса
SD
Хм, а что опасного держать в одном месте grpc и re...

Для grpc есть обязатеоьный внутренний фреймворк аутентификации и авторизации клиентов, а для http эндпоинтов разброд и шатание. Потому потребовали от команд отделить сервисы с бизнес-логикой и grpc с нормальной аутентификацией и авторизацией и http-сервисы

Потому что так было заведено в компании: grpc обязательно для s2s, а остальное по потребности

или secondary

SD- Автор вопроса
Alexander
Для grpc есть обязатеоьный внутренний фреймворк ау...

Те вы вынесли аутентификацию и авторизацию на grpc?

Rostislav Teryaev
или secondary

Обработчик запрсов — presentation Клиент от других API — адаптер

SD- Автор вопроса

В Go например соединение с бд выносят в отдельных пакет в папке pkg

SD
В Go например соединение с бд выносят в отдельных ...

О.o Столько вопросов. Что значит "вынести соединение в пакет"? Почему "pkg"? Что за название? Почему не адаптер? Как название пакета влияет на реализацию

SD
Те вы вынесли аутентификацию и авторизацию на grpc...

Нет, s2s AA для grpc отдельно, а для http отдельно (уже в зависимости от потребностей сервиса). Просто для grpc была реализована функциональность на уровне общего фреймворка.

SD- Автор вопроса
Айван
О.o Столько вопросов. Что значит "вынести соединен...

Коннект к бд это внешняя зависимость не имеющая отношения к ча, зачем тебе в ча тащить коннект к бд?) Мартин писал об этом, но все почему то тащат Коннект к бд в чистую архитектуру адаптеров

SD
Коннект к бд это внешняя зависимость не имеющая от...

может потому что эти все понимают, что такое адаптеры?

SD- Автор вопроса
Айван
О.o Столько вопросов. Что значит "вынести соединен...

Я делаю слой адаптеров внутри usecase для соединения с внешними слоями репозитория например, а подключение к бд выношу в отдельный пакет вне ЧА

SD
Я делаю слой адаптеров внутри usecase для соединен...

Ты либо интерфейсы адаптерами называешь, либо у тебя нарушен DIP

SD
Интерфейсы

это порты называется

SD
Интерфейсы

Адаптерами называют реализации, не интерфейсы

https://refactoring.guru/ru/design-patterns/adapter (простите, нужен VPN. Изображения кидать нельзя~)

SD- Автор вопроса
Айван
https://refactoring.guru/ru/design-patterns/adapte...

Да все правильно, я разделяю на слои delivery, domain, repository(использует gateway, dao), usecase(содержит интерфейсы) Само подключение к бд у меня в pkg, как внешняя зависимость, в остальном все как вы показывает на картинке

SD
Да все правильно, я разделяю на слои delivery, dom...

откуда берется этот деливери загадочный. Не первый раз встречаю в чате, но не встречаю больше нигде

SD- Автор вопроса
Rostislav Teryaev
откуда берется этот деливери загадочный. Не первый...

Сразу видно что вы не работали в крупном продакшене)

К чему это? Адаптер в ЧА это частный случай адаптеров как паттерна

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
lazarus-3.2.0/gtk, linux патч "имя проекта по умолчанию project1 -> prj" день добрый не нравится "именя проекта по умолчанию" (project1), к.раз приходится переименовывать (н...
livontiy
5
Коллеги, а в чём сейчас хорошо писать на перле, в смысле ide? Пробовал в идее с плагином, подсветка есть, даже какие-то предупреждения есть, но рефакторинга считай нет. Перене...
Дмитрий Петров
9
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта