oapi-codegen v2 在 JSON 关键字仅通过分隔符(连字符 vs 下划线)不同时会生成重复的 Go 字段名称
作者: ChalamaiahReddy创建于 2026年7月23日更新于 2026年7月26日
问题
当同一个对象中的两个 JSON 属性仅在分隔符上不同时,例如 "host-fqdn" 和 "host_fqdn",它们都会被转换为相同的 PascalCase Go 字段名 HostFqdn,从而导致此代码块中重新声明的编译错误。由于 - 是一个无效的 Go 标识符字符,因此去掉它是不可避免的。但是 _ 是一个有效的 Go 标识符字符,应该被不同地处理(例如保留或检测冲突并加上后缀),而不是被正则化成 -。
内容来源: oapi-codegen/oapi-codegen