用户工具

站点工具


教程:kratos:api定义

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
教程:kratos:api定义 [2025/07/01 02:03] – 创建 - 外部编辑 127.0.0.1教程:kratos:api定义 [2025/07/03 14:33] (当前版本) – [生成proto模板] tom
行 1: 行 1:
 ====== API定义 ====== ====== API定义 ======
-要使用Kratos定义API主要有三个步骤:+要使用Kratos定义API主要有如下步骤(([[http://go-kratos.dev/docs/component/api/|API 定义]]))(([[https://www.itshujia.com/read/kratos/2212|Kratos v2 初步学习 4-编写第一个接口]])):
   - 生成 proto 模板   - 生成 proto 模板
-  - 生成 client 源码 +  - 生成 [[client|client]]源码 
-  - 生成 server 源码 +  - 生成 [[server|server]] 源码 
-对应的命令:+===== 生成proto模板===== 
 +使用如下命令:
 <code shell> <code shell>
-kratos proto add api/helloworld/v1/greeter.proto +kratos proto add api/user/v1/user.proto 
-kratos proto client api/helloworld/v1/greeter.proto +</code> 
-kratos proto server api/helloworld/v1/greeter.proto -t internal/service+该命令生成proto模板文件,我们在这个模板文件中定义对应的 REST API 和 gRPC API 
 + 
 + 
 +===== 生成client模板 ===== 
 +使用如下命令,我们就能根据上一步得到的proto模板生成client模板: 
 +<code shell> 
 +kratos proto client api/user/v1/user.proto 
 +</code> 
 +生成成功后就可以看到如下的文件树(*为生成的文件): 
 +<code shell> 
 +├── api 
 +│   └── user 
 +│       └── v1 
 +│           ├── user_grpc.pb.go* 
 +│           ├── user_http.pb.go* 
 +│           ├── user.pb.go* 
 +│           └── user.proto 
 +</code> 
 +可以发现kratos在”api/user/v1”目录下生成了”user.pb.go”,”user_http.pb.go”和”user_grpc.pb.go”三个文件 
 +===== 生成server模板===== 
 +使用如下命令生成server模板: 
 +<code shell> 
 +kratos proto server api/user/v1/user.proto -t internal/service 
 +</code> 
 + 
 +执行后会生成”/internal/service/user.go”的server模板,文件树如下(*为生成的文件): 
 +<code shell> 
 +├── internal 
 +│ ...... 
 +│   └── service 
 +│       ├── README.md 
 +│       ├── service.go 
 +│       └── user.go*
 </code> </code>
教程/kratos/api定义.1751335410.txt.gz · 最后更改: 127.0.0.1