You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置openapiv2_swagger插件将Swagger参数改为驼峰命名?

解决Protobuf参数在Swagger文档中显示为驼峰命名的问题

我来帮你搞定这个问题——让Swagger文档里的Protobuf参数从蛇形命名转为驼峰命名,其实不用单独修改响应的schema配置,咱们可以通过两种更高效的方式实现:

方式一:通过protoc-gen-openapiv2插件参数全局配置

如果你用的是官方的protoc-gen-openapiv2插件(也就是你提到的openapiv2_swagger插件),可以在生成Swagger文档的命令中添加命名策略参数,全局把蛇形字段转成驼峰:

protoc \
  --proto_path=./proto \
  --openapiv2_out=./swagger \
  --openapiv2_opt=naming_strategy=camelcase \
  ./proto/*.proto

这个参数会自动把Protobuf里的蛇形命名(比如user_name)转换成Swagger文档中显示的驼峰命名(userName),不用逐个字段修改,非常适合批量处理。

方式二:在Protobuf字段中显式指定json_name(适合局部调整)

如果只是个别字段需要修改命名格式,可以在Protobuf字段的注释里添加json_name选项,显式定义该字段在Swagger中显示的驼峰名称:

message GetUserRequest {
  // 用户ID,Swagger中显示为userId
  string user_id = 1 [json_name = "userId"];
}

这种方式适合需要特殊命名的字段,但如果你的Protobuf文件有大量字段,还是推荐用方式一的全局配置更高效。

另外要说明的是,你之前尝试修改404响应的schema设置,其实和字段命名格式没有关系——那段配置只是定义了404响应的描述和类型,并不会影响请求/响应参数的命名显示,所以不用在这部分做调整。

内容的提问来源于stack exchange,提问作者Kevin Zhang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 10:35:41