Skip to content

Latest commit

 

History

History
90 lines (66 loc) · 4.24 KB

README.md

File metadata and controls

90 lines (66 loc) · 4.24 KB

gRPC Starter Build Maven Central License: MIT

gRPC is an RPC framework with robust features like high performance, multi-language support, concise service definitions, and streaming. It is an ideal choice for building scalable and efficient microservice systems.

This project provides out-of-the-box, highly extensible Spring Boot starters for gRPC ecosystem. Make the integration of Spring Boot and gRPC feel seamless and native.

Features

Core:

Extensions:

Quick Start

implementation(platform("io.github.danielliu1123:grpc-starter-dependencies:<latest>"))
implementation("io.github.danielliu1123:grpc-boot-starter")
implementation("io.grpc:grpc-testing-proto")
@SpringBootApplication
public class SimpleApp extends SimpleServiceGrpc.SimpleServiceImplBase {

    public static void main(String[] args) {
        new SpringApplicationBuilder(SimpleApp.class)
                .properties("grpc.client.base-packages=io.grpc")
                .properties("grpc.client.authority=127.0.0.1:9090")
                .run(args);
    }

    @Override
    public void unaryRpc(SimpleRequest request, StreamObserver<SimpleResponse> r) {
        var response = SimpleResponse.newBuilder()
                .setResponseMessage("Hello " + request.getRequestMessage())
                .build();
        r.onNext(response);
        r.onCompleted();
    }

    @Bean
    ApplicationRunner runner(SimpleServiceGrpc.SimpleServiceBlockingStub stub) {
        return args -> {
            var response = stub.unaryRpc(SimpleRequest.newBuilder().setRequestMessage("World!").build());
            System.out.println(response.getResponseMessage());
        };
    }

}

Refer to quick-start.

Documentation

Go to Reference Documentation for more information.

Code of Conduct

This project is governed by the Code of Conduct. By participating, you are expected to uphold this code of conduct. Please report unacceptable behavior to llw599502537@gmail.com.

Contributing

The issue tracker is the preferred channel for bug reports, feature requests and submitting pull requests.

If you would like to contribute to the project, please refer to Contributing.

License

The MIT License.