Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/azapata27/grpc-examples
gRPC examples built with Spring Boot and Quarkus.
https://github.com/azapata27/grpc-examples
grpc-java protobuf quarkus spring-boot
Last synced: about 1 month ago
JSON representation
gRPC examples built with Spring Boot and Quarkus.
- Host: GitHub
- URL: https://github.com/azapata27/grpc-examples
- Owner: AZapata27
- License: apache-2.0
- Created: 2024-04-17T16:18:41.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-05-01T04:03:49.000Z (9 months ago)
- Last Synced: 2024-10-29T20:06:16.883Z (3 months ago)
- Topics: grpc-java, protobuf, quarkus, spring-boot
- Language: Java
- Homepage:
- Size: 197 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### gRPC Examples with Spring and Quarkus
This repository contains gRPC examples built with Spring and Quarkus. The examples are organized into three projects:
1. **Interface Project**: Contains the original protobuf files and generates the model and service classes in Java. This project is typically shared between the server and clients.
2. **Server Project**: Contains the actual implementation of the project and uses the interface project as a dependency. Here, gRPC services are implemented, and interceptors, events, and security are configured.
3. **Client Projects**: (Optional and potentially many) Any client projects that use pre-generated stubs to access the server.
### Project Structure
- **grpc-interfaces/**: Contains the protobuf files and generates model and service classes in Java.
- **server-grpc-spring-boot/**: Contains the implementation of the gRPC server, exception handler, security config.
- **client-grpc-spring-boot/**: Contains client projects that use pre-generated stubs to access the server.
### Additional Configurations
The server and client projects may contain additional configurations such as:
- **Exception Handler**: Handles exceptions by intercepting incoming and outgoing gRPC calls.
- **Interceptors**: To intercept incoming and outgoing gRPC calls.- **Events**: To handle events related to the lifecycle of the server and clients.
- **Security**: To secure gRPC communications through authentication and authorization with spring security and basic auth.
- **Testing**: Validates gRPC functionality through unit and integration testing.
### Running Tests
The repository includes tests to ensure the correct operation of the gRPC services. These tests can be executed using appropriate testing tools for Spring and Quarkus projects.
### License
This project is licensed under the [Apache License 2.0](LICENSE).