Open sscui opened 1 month ago
我在 #1155 试着修复了一下这个问题,不清楚是否是这个功能设计时的本意,请 review。
你好, 这是我使用的 proto 文件
syntax = "proto3";
package hello;
option go_package = "hertz/hello";
import "api.proto";
message HelloReq {
string Name = 1[(api.query)="name"];
}
message HelloResp {
string RespBody = 1;
}
service HelloService {
rpc Method1(HelloReq) returns(HelloResp) {
option (api.get) = "/hello";
}
}
依据 go_package 定义, 它应该生成在 biz/model/hello/hello.pb.go 我并没有复现出你的问题.
或者你可以提供你的 proto 用于我们来确定问题的来源
option go_package = "hertz/hello"; 不应该是 biz/model/hertz/hello/hello.pb.go 吗?实际上它的生成文件是在 biz/model/hello.pb.go
关键点可能是 hz new -module hello -I idl -idl idl/hello/hello.proto
的 module 是 hello,而不是文档中的 example.com/m。这导致 module 是我 go_package 的一个子串
ok, 确实是存在相应的问题的, 我来 cr 一下
但是 预期生成路径应该是 biz/model + go_package 中定义的路径, 所以说 biz/model/hello/hello.pb.go 这个路径是没有错误的
Describe the bug
我在 proto 文件中定义了 go_packages,然后我使用 hz update 去生成相应的model文件,结果生成的文件路径与我在 proto 定义的文件路径不符
Replay 我的项目名为 hello
hz new -module hello -I idl -idl idl/hello/hello.proto
hz update -I idl -idl idl/hello/hello.proto
Note 只要我的go_packages 路径中包含或者等于 hello,这个实际生成的 pb 文件路径就会有问题
Hertz version: