Как использовать фантастические функции транскодирования JSON в GRPC от Armeria для проекта Springboot
У нас есть существующий проект Springboot с ужасной системой управления API. Итак, мы хотим сделать что-то вроде работы, связанной с grpc-gateway. Но мы не хотим добавлять коляску к нашему существующему сервису. Мы обнаружили, что в Armeria есть замечательная функция транскодирования json grpc. Как мы можем использовать эту вещь в нашем существующем проекте весенней загрузки.
1 ответ
Мы обнаружили, что в Armeria есть замечательная функция транскодирования json grpc.
Я предполагаю, что минимальный пример может выглядеть следующим образом:
final GrpcService grpcService = GrpcService.builder()
.addService(new MyGrpcService())
.enableHttpJsonTranscoding(true) // enable http json transcoding
.build();
final ServerBuilder sb = Server.builder();
sb.service(grpcService).serviceUnder("/foo", grpcService); // add the grpc service to the server
final Server server = sb.build();
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
server.stop().join();
}));
server.start().join(); // start the server
Как мы можем использовать эту вещь в нашем существующем проекте весенней загрузки.
Armeria также предлагает интеграцию с Spring-Boot. Пример можно найти в следующем репозитории .
Вы также можете задать вопросы в slack или github, если у вас есть какие-либо дополнительные/дополнительные вопросы.