Spa*_*222 6 java protocol-buffers
我是协议缓冲区的新手。我有一些 java pojo 类,它有一个 Date 类型的字段,仅包括年、月和日。
对于时间戳类型,我们可以import "google/protobuf/timestamp.proto";。
但对于 Date 类型,我们不能这样做,因为 date.proto 位于https://github.com/googleapis/googleapis/blob/master/google/type/date.proto.
那么我该如何导入这个date.proto呢?
\n\n对于时间戳类型,我们可以导入“google/protobuf/timestamp.proto”;。
\n
因为timestamp.protoProtobuf中包含了一些内置的消息类型。
\n\n但对于 Date 类型,我们不能这样做,因为 date.proto 位于https://github.com/googleapis/googleapis/blob/master/google/type/date.proto。
\n
proto您需要的任何文件(在本例中为date.proto文件)。date.proto你的项目中,你可以创建一个用于导入的目录,例如:google/type/date.protoprotoc;生成代码 您必须使用--proto_path命令行标志(又名-I)来告诉protoc在哪里寻找.proto文件。如果您不提供路径,默认情况下它将仅搜索当前目录:protoc -I. --cpp_out=. usersvr.proto\nRun Code Online (Sandbox Code Playgroud)\n这是我的演示项目的结构:
\n\xe2\x95\xb0\xe2\x94\x80$ tree \n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 google\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 type\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 date.proto\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 usersvr.pb.cc\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 usersvr.pb.h\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 usersvr.proto\nRun Code Online (Sandbox Code Playgroud)\nusersvr.proto:
\nsyntax = "proto3";\npackage srv.user;\nimport "google/protobuf/timestamp.proto";\nimport "google/type/date.proto";\n\noption cc_generic_services = true;\nmessage BatchGetUserInfosRequest {\n uint64 my_uid = 1;\n repeated uint64 peer_uids = 2;\n map<string, string> infos = 3;\n google.protobuf.Timestamp timestamp = 4;\n google.type.Date date = 5;\n}\nRun Code Online (Sandbox Code Playgroud)\ndate.proto从https://github.com/googleapis/googleapis/blob/master/google/type/date.proto下载
| 归档时间: |
|
| 查看次数: |
5006 次 |
| 最近记录: |