信创国产化如何推动技术自主创新与安全保障的未来发展
629
2022-10-09
maven grpc整合springboot demo
目录1. 说明2. 公共部分2.1 添加依赖2.2 添加proto依赖文件2.3 通过protobuf生成java代码3. server端接口具体实现4 client端接口具体实现
1. 说明
GRPC基于protobuf来定义接口。分为server端和client端。其中server端提供接口实现,client通过调用server端接口从而获取期望数据。
2. 公共部分
2.1 添加依赖
添加插件(注意:如果wagon-provider-api无法自动引入,可以现在依赖中引入,以便于依赖的-,然后在删除依赖坐标即可)
<goal>compile
2.2 添加proto依赖文件
添加目录src/main/proto,并将目录设置为Source Root,然后在目录src/main/proto下添加文件hello.proto,内容如下
syntax = "proto3"; //指定proto版本
package com.serhttp://ver;
// 生成的Java代码的包名
option java_package = "com.grpc.server";
// 请求参数
message HelloReq{
string name = 1;
}
// 返回参数
message HelloResp{
string ret = 1;
}
// rpc service
service HelloService{
// service中需要进行调用的具体方法
rpc hello(HelloReq) returns (HelloResp){}
}
2.3 通过protobuf生成Java代码
插件导入成功后,点击下图选中的protobuf:compile和protbuf:compile-custom 依次生成对应的Java代码(也就是接口依赖代码)
3. server端接口具体实现
service代码如下
import io.grpc.stub.StreamObserver;
import net.devh.boot.grpc.server.service.GrpcService;
@GrpcService
public class HelloService extends HelloServiceGrpc.HelloServiceImplBase {
@Override
public void hello(Hello.HelloReq request, StreamObserver
Hello.HelloResp resp = Hello.HelloResp.newBuilder().setRet("你好-->"+request.getName()).build();
responseObserver.onNext(resp);
responseObserver.onCompleted();
}
}
4 client端接口具体实现
client端测试调用代码如下
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
public class GrpcTest {
@Autowired
private HelloSerivce helloSerivce;
@Test
public void test1() throws Exception{
helloSerivce.haha("牛哈哈");
}
}
以上就是maven grpc整合springboot demo的详细内容,更多关于maven grpc整合springboot 的资料请关注我们其它相关文章!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~