gRPC — high-performance RPC framework using Protocol Buffers.
Proto file:
1syntax = "proto3";2package greeter;34service Greeter {5 rpc SayHello (HelloRequest) returns (HelloReply);6}78message HelloRequest { string name = 1; }9message HelloReply { string message = 1; }
Server:
1builder.Services.AddGrpc();2app.MapGrpcService<GreeterService>();34public class GreeterService : Greeter.GreeterBase5{6 public override Task<HelloReply> SayHello(7 HelloRequest request, ServerCallContext context)8 {9 return Task.FromResult(10 new HelloReply { Message = $"Hello {request.Name}" });11 }12}
vs REST: