[zeromicro/go-zero]goctl rpc proto 生成代码文件的时候报异常

2024-03-05 707 views
2

goctl rpc proto -src .\b.proto -dir . -style go_zero

目录:

          b.proto
          common.proto

    common.proto:
            syntax = "proto3";
            package common;
            option go_package ="./src";
             message RetResp {
                     bytes Data = 1;
              }
             message Empty {}
     b.proto:
           syntax = "proto3";
           import "common.proto";
          import "google/protobuf/empty.proto";
           package b;

           option go_package ="./src";

           service B{
                rpc Hello(common.Empty) returns(common.RetResp);
                rpc Api(google.protobuf.Empty) returns(RetResp);
           }

在上面引入google中的Empty和自己common.proto中定义的消息,goctl rpc proto生成代码都报错:request type must Defined in b.proto

协议版本:libprotoc 3.17.3 goctl :goctl.exe 版本 1.1.6 windows/amd64

回答

1

@xhochipe 这个我在文档中包含说明,请求和响应不支持外部的消息。

5

在一个项目中,很多结构本来是可以消耗的,不支持外部的消息,就需要在各个.proto中重复定义,这就会带来很多不方便和不一致的维护呀?

4

在一个项目中,可以共享许多结构。如果不支持外部消息,则需要在每个.proto中重复定义它们。这会给维护带来很多不便和不一致。

9

希望加强,不然proto文件中定义的消息就重复太多了

6

哪时候可以支持外部的消息@anqiansong

7

最近也遇到了,希望能支持下。看了下代码,支持的话,除了影响逻辑和客户端的生成,还影响其他不@anqiansong