swagger 问题
小于 1 分钟
1. 为什么我的 proto 字段是 order_id 但是生成的 swagger 是 orderId, 如何解决?
syntax = "proto3";
message GetOrderRequest {
    int32 order_id = 2;
}生成的 pb.go 文件:
type SayHelloRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	OrderId int32  `protobuf:"varint,2,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"`
}swagger ui 如图所示:

解决方案:
syntax = "proto3";
message GetOrderRequest {
  int32 order_id = 2 [json_name = "order_id"];
}
如果需要自定义注释等信息, 可以使用
syntax = "proto3";
import "google/api/annotations.proto";
import "grpc-gateway/protoc-gen-openapiv2/options/annotations.proto";
message GetOrderRequest {
  int32 order_id = 2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
    description: "订单 id"
  }, json_name = "order_id"];
}
