使用grpc-web_out编译proto时如何保留字段camelCase?有对应配置项吗?
解决方法
你遇到的字段被转换为全小写格式是protobuf官方JavaScript代码生成器的默认行为,只需要在--js_out参数中新增保留原字段名的配置即可,不需要修改proto文件内容。
调整后的编译命令
将你的第一条编译命令修改为如下格式即可,第二条grpc-web_out的命令不需要变动:
protoc.exe -I../grpc/proto/ --js_out=import_style=commonjs,binary,field_name_case=preserve:../src/grpchandlers/ ../proto/*.proto
相关说明
field_name_case=preserve参数需要3.12及以上版本的protoc支持,如果执行报错请先升级protoc到最新稳定版- 该参数仅作用于
--js_out生成的*_pb.js文件,会保留proto中定义的字段原有大小写格式,不会强制转换为全小写或其他格式 - 重新执行编译命令后,生成的
myproto_pb.js中toObject方法返回的对象键名就会和你在proto中定义的camelCase命名保持一致
内容的提问来源于stack exchange,提问作者K10
相关产品推荐
相关产品推荐

