生成的 google.protobuf.Any OpenAPI v2 yaml 可能不正确

作者: veqryn创建于 2024年9月15日更新于 2026年8月21日
标签bugopenapi

□ 错误报告 我相信生成的OpenAPI v2 yaml 对于一个谷歌。 原生地出没. 任何错误都是错误的。 这也可能发生在其他使用“额外Properties: ”的物体上。

□ 重现

  1. 拥有包含谷歌的原型文件. 原生地出产. 随便什么地方
  2. 生成 OpenAPI v2 yaml
  3. 看看OpenAPI v2 yaml,尝试生成OpenAPI客户端 sdk的基于它.

□ 预期行为 我期望生成的活叶像这样: {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 原创: 类型:对象 属性 : “ @ type” : 类型:字符串 额外 属性:真


当变成OpenAPI客户端 sdk for golang, 它会变成这样:
{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}我很高兴见到你
类型 :
类型 *字符串 “ json ” @ type”
其他Propertys映射[字符串]
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

□ 实际行为 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 原创: 类型:对象 属性 : “ @ type” : 类型:字符串 额外财产:


我认为这是错的,因为`额外优点:      可以表示第二个级别地图,也可以表示一个没有字段的对象。 应该是`额外收益:真实的'

当变成Golang的 OpenAPI 客户端 sdk 时, 它变成了这样 :
{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}我很高兴见到你
类型 :
类型 *字符串 “ json ” @ type”
附加 props 映射 [string] struct {}
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

或者说

{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}我很高兴见到你 类型 : 类型 *字符串 “ json ” @ type” 附加Properties 映射 [字符串] 映射 [字符串] 界面 {} {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?


在这两种情况下,客户都未能尝试解析这个结构。

□你的环境
页:1
Linux 和 麦克

内容来源: grpc-ecosystem/grpc-gateway