mirror of
https://github.com/go-kratos/kratos.git
synced 2025-03-17 21:07:54 +02:00
add blademaster-pb.md
This commit is contained in:
parent
7f6cf4f788
commit
d5571a7b2a
@ -10,7 +10,7 @@
|
||||
`kratos tool protoc`工具可以生成`warden` `bm` `swagger`对应的代码和文档,想要单独生成`bm`代码只需加上`--bm`如:
|
||||
|
||||
```shell
|
||||
// generate BM HTTP
|
||||
# generate BM HTTP
|
||||
kratos tool protoc --bm api.proto
|
||||
```
|
||||
|
||||
@ -59,3 +59,18 @@ func (s *Service) SayHelloURL(ctx context.Context, req *pb.HelloReq) (reply *pb.
|
||||
return
|
||||
}
|
||||
```
|
||||
|
||||
# 文档
|
||||
|
||||
基于同一份`proto`文件还可以生成对应的`swagger`文档,运行命令如下:
|
||||
|
||||
```shell
|
||||
# generate swagger
|
||||
kratos tool protoc --swagger api.proto
|
||||
```
|
||||
|
||||
该命令将生成对应的`swagger.json`文件,可用于`swagger`工具通过WEBUI的方式打开使用,可运行命令如下:
|
||||
|
||||
```shell
|
||||
kratos tool swagger serve api/api.swagger.json
|
||||
```
|
||||
|
@ -61,7 +61,8 @@ kratos new kratos-demo -o YourName -d YourPath
|
||||
kratos new kratos-demo -o YourName -d YourPath --proto
|
||||
```
|
||||
|
||||
> 特别注意,如果不是MacOS系统,需要自己进行手动安装protoc,用于生成的示例项目`api`目录下的`proto`文件并不会自动生成对应的`.pb.go`和`.bm.go`文件。
|
||||
> 特别注意,如果不是MacOS系统,需要自己进行手动安装protoc,用于生成的示例项目`api`目录下的`proto`文件并不会自动生成对应的`.pb.go`和`.bm.go`文件。
|
||||
|
||||
> 也可以参考以下说明进行生成:[protoc说明](protoc.md)
|
||||
|
||||
# kratos build & run
|
||||
@ -72,7 +73,7 @@ kratos new kratos-demo -o YourName -d YourPath --proto
|
||||
|
||||
`kratos tool`是基于proto生成http&grpc代码,生成缓存回源代码,生成memcache执行代码,生成swagger文档等工具集,先看下的执行效果:
|
||||
|
||||
```shell
|
||||
```
|
||||
kratos tool
|
||||
|
||||
swagger(已安装): swagger api文档 Author(goswagger.io) [2019/05/05]
|
||||
@ -85,9 +86,11 @@ kratos(已安装): Kratos工具集本体 Author(kratos) [2019/04/02]
|
||||
|
||||
详细文档: https://github.com/bilibili/kratos/blob/master/doc/wiki-cn/kratos-tool.md
|
||||
```
|
||||
|
||||
> 小小说明:如未安装工具,第一次运行也可自动安装,不需要特别执行install
|
||||
|
||||
目前已经集成的工具有:
|
||||
|
||||
* kratos 为本体工具,只用于安装更新使用;
|
||||
* protoc 用于快速生成gRPC、HTTP、Swagger文件,该命令Windows,Linux用户需要手动安装 protobuf 工具。
|
||||
* swagger 用于显示自动生成的HTTP API接口文档,通过 `kratos tool swagger serve api/api.swagger.json` 可以查看文档。
|
||||
@ -95,16 +98,16 @@ kratos(已安装): Kratos工具集本体 Author(kratos) [2019/04/02]
|
||||
### kratos tool protoc
|
||||
|
||||
```shell
|
||||
// generate all
|
||||
# generate all
|
||||
kratos tool protoc api.proto
|
||||
// generate gRPC
|
||||
# generate gRPC
|
||||
kratos tool protoc --grpc api.proto
|
||||
// generate BM HTTP
|
||||
# generate BM HTTP
|
||||
kratos tool protoc --bm api.proto
|
||||
// generate swagger
|
||||
# generate swagger
|
||||
kratos tool protoc --swagger api.proto
|
||||
```
|
||||
执行对应生成 `api.pb.go/api.bm.go/api.swagger.json` 源文档。
|
||||
执行对应生成 `api.pb.go/api.bm.go/api.swagger.json` 源文档。
|
||||
|
||||
> 该工具在Windows/Linux下运行,需提前安装好 protobuf 工具
|
||||
|
||||
@ -114,17 +117,17 @@ kratos tool protoc --swagger api.proto
|
||||
export $KRATOS_HOME = kratos路径
|
||||
export $KRATOS_DEMO = 项目路径
|
||||
|
||||
// 生成:api.pb.go
|
||||
# 生成:api.pb.go
|
||||
protoc -I$GOPATH/src:$KRATOS_HOME/tool/protobuf/pkg/extensions:$KRATOS_DEMO/api --gogofast_out=plugins=grpc:$KRATOS_DEMO/api $KRATOS_DEMO/api/api.proto
|
||||
|
||||
// 生成:api.bm.go
|
||||
# 生成:api.bm.go
|
||||
protoc -I$GOPATH/src:$KRATOS_HOME/tool/protobuf/pkg/extensions:$KRATOS_DEMO/api --bm_out=$KRATOS_DEMO/api $KRATOS_DEMO/api/api.proto
|
||||
|
||||
// 生成:api.swagger.json
|
||||
# 生成:api.swagger.json
|
||||
protoc -I$GOPATH/src:$KRATOS_HOME/tool/protobuf/pkg/extensions:$KRATOS_DEMO/api --bswagger_out=$KRATOS_DEMO/api $KRATOS_DEMO/api/api.proto
|
||||
```
|
||||
|
||||
大家也可以参考该命令进行`proto`生成,也可以参考[protobuf](https://github.com/google/protobuf)官方参数。
|
||||
大家也可以参考该命令进行`proto`生成,也可以参考[protobuf](https://github.com/google/protobuf)官方参数。
|
||||
|
||||
### kratos tool swagger
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user