Как использовать фантастические функции транскодирования 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, если у вас есть какие-либо дополнительные/дополнительные вопросы.

Другие вопросы по тегам