grpc-spring-boot-starter
grpc-spring-boot-starter 2.15.0.RELEASE
Чтобы добавить зависимость с помощью Gradle:
dependencies {
implementation 'net.devh:grpc-spring-boot-starter:2.15.0.RELEASE'
}
Чтобы добавить зависимость с использованием Maven, используйте следующее:
<dependency>
<groupId>net.devh</groupId>
<artifactId>grpc-server-spring-boot-starter</artifactId>
<version>2.15.0.RELEASE</version>
</dependency>
Чтобы добавить зависимость с помощью Gradle, выполните следующие действия:
dependencies {
implementation 'net.devh:grpc-server-spring-boot-starter:2.15.0.RELEASE'
}
Аннотируйте реализацию интерфейса вашего сервера с помощью @GrpcService
@GrpcService
public class GrpcServerService extends GreeterGrpc.GreeterImplBase {
@Override
public void sayHello(HelloRequest req, StreamObserver<HelloReply> responseObserver) {
HelloReply reply = HelloReply.newBuilder().setMessage("Hello ==> " + req.getName()).build();
responseObserver.onNext(reply);
responseObserver.onCompleted();
}
}
По умолчанию сервер grpc будет прослушивать порт 9090. Эти и другие настройки можно изменить с помощью механизма свойств Spring. Сервер использует префикс grpc.server.
Обратитесь к нашей документации для получения более подробной информации.
Чтобы добавить зависимость с использованием Maven, используйте следующее:
<dependency>
<groupId>net.devh</groupId>
<artifactId>grpc-client-spring-boot-starter</artifactId>
<version>2.15.0.RELEASE</version>
</dependency>
Чтобы добавить зависимость с помощью Gradle, выполните следующие действия:
dependencies {
compile 'net.devh:grpc-client-spring-boot-starter:2.15.0.RELEASE'
}
Аннотируйте поле вашего клиента grpc с помощью @GrpcClient(serverName)
@Autowired
или @Inject
@GrpcClient("gRPC server name")
private GreeterGrpc.GreeterBlockingStub greeterStub;
Примечание: Вы можете использовать одно и то же имя сервера grpc для нескольких каналов, а также разных заглушек (даже с разными перехватчиками).
Затем вы можете отправлять запросы на свой сервер следующим образом:
HelloReply response = stub.sayHello(HelloRequest.newBuilder().setName(name).build());
Можно настроить целевой адрес для каждого клиента индивидуально. Однако в некоторых случаях вы можете просто полагаться на конфигурацию по умолчанию. Вы можете настроить сопоставление URL по умолчанию с помощью компонентов NameResolver.Factory
. Если вы не настроите этот компонент, то URL по умолчанию будет угадываться с использованием схемы по умолчанию и имени (например, dns:/<name>
):
Эти и другие настройки могут быть изменены с помощью механизма свойств Spring. Клиенты используют префикс grpc.client.(serverName).
Обратитесь к нашей документации для получения более подробной информации.
Эта библиотека поддерживает как grpc-netty
, так и grpc-netty-shaded
. Последний может предотвратить конфликты с несовместимыми версиями grpc или конфликты между библиотеками, которые требуют разных версий netty.
Примечание: если затенённый netty присутствует в пути к классам, эта библиотека всегда будет отдавать ему предпочтение перед незатенённым grpc-netty.
Вы можете использовать его с Maven следующим образом:
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
<version>${grpcVersion}</version>
</dependency>
<!-- Для обоих -->
<dependency>
<groupId>net.devh</groupId>
<artifactId>grpc-spring-boot-starter</artifactId>
<version>...</version>
<exclusions>
<exclusion>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty-shaded</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Только для сервера -->
<dependency> **artifactId>grpc-server-spring-boot-starter**
**version>...**
**exclusions>**
**exclusion>**
**groupId>io.grpc**
**artifactId>grpc-netty-shaded**
**</exclusion>**
**</exclusions>**
**</dependency>**
<!-- For the client (only) -->
**<dependency>**
**<groupId>net.devh**
**<artifactId>grpc-client-spring-boot-starter**
**<version>...**
**<exclusions>**
**<exclusion>**
**<groupId>io.grpc**
**<artifactId>grpc-netty-shaded**
**</exclusion>**
**</exclusions>**
**</dependency>**
and like this when using Gradle:
**groovy**
**implementation "io.grpc:grpc-netty:${grpcVersion}"**
**implementation 'net.devh:grpc-spring-boot-starter:...' exclude group: 'io.grpc', module: 'grpc-netty-shaded' // For both**
**implementation 'net.devh:grpc-client-spring-boot-starter:...' exclude group: 'io.grpc', module: 'grpc-netty-shaded' // For the client (only)**
**implementation 'net.devh:grpc-server-spring-boot-starter:...' exclude group: 'io.grpc', module: 'grpc-netty-shaded' // For the server (only)**
## Example-Projects
Read more about our example projects [here](examples).
## Troubleshooting
Refer to our [documentation](https://yidongnan.github.io/grpc-spring-boot-starter/en/trouble-shooting) for help.
## Contributing
Contributions are always welcomed! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )