You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
kratos/doc/wiki-cn/warden-pb.md

1.8 KiB

介绍

基于proto文件可以快速生成warden框架对应的代码,提前需要准备以下工作:

kratos工具说明

kratos tool protoc工具可以生成warden bm swagger对应的代码和文档,想要单独生成warden代码只需加上--grpc如:

# generate gRPC
kratos tool protoc --grpc api.proto

使用

建议在项目api目录下编写proto文件及生成对应的代码,可参考kratos-demo内的api目录

执行命令后生成的api.pb.go代码,注意其中的DemoClientDemoServer,其中:

  • DemoClient接口为客户端调用接口,相对应的有demoClient结构体为其实现
  • DemoServer接口为服务端接口声明,需要业务自己实现该接口的所有方法,kratos建议在internal/service目录下使用Service结构体实现

internal/service内的Service结构实现了DemoServer接口可参考kratos-demo内的service内的如下代码:

// SayHelloURL bm demo func.
func (s *Service) SayHelloURL(ctx context.Context, req *pb.HelloReq) (reply *pb.HelloResp, err error) {
	reply = &pb.HelloResp{
		Content: "hello " + req.Name,
	}
	fmt.Printf("hello url %s", req.Name)
	return
}

更详细的客户端和服务端使用请看warden快速开始

扩展阅读

warden快速开始 warden拦截器 warden负载均衡 warden服务发现


文档目录树