ServiceStack gRPC代码优先生成的.proto文件字段命名规范调整问询
ServiceStack gRPC代码优先生成的.proto文件字段命名规范调整问询
嗨,我之前刚好碰到过这个问题!ServiceStack其实提供了调整生成的proto字段命名风格的办法,完全可以改成符合官方指南的格式,给你两种可行的方案:
- 全局统一配置:在ServiceStack应用的启动配置里,通过
GrpcOptions设置全局的字段命名规则,把它改成下划线分隔的小写风格。示例代码如下:
Plugins.Add(new GrpcFeature { Options = new GrpcOptions { FieldNameStyle = ProtobufNamingConvention.SnakeCase } });
这样所有通过代码优先生成的proto文件字段,都会自动转为符合官方规范的命名格式,不用逐个字段修改。
- 单个字段自定义:如果只想调整特定字段的命名,不想全局修改,可以在DTO类的属性上加上
[ProtoMember]特性,手动指定字段的proto名称,比如:
public class UserRequest { [ProtoMember(1, Name = "user_id")] public int UserId { get; set; } [ProtoMember(2, Name = "user_email")] public string UserEmail { get; set; } }
需要注意的是,如果之前已经生成过proto文件,记得先清理旧文件再重新生成,确保新的命名规则能生效。
备注:内容来源于stack exchange,提问作者Michał Chaniewski
相关产品推荐
相关产品推荐

