上传图片client.im.image.create返回值类型问题
HappyYA opened this issue · 5 comments
HappyYA commented
mazhe-nerd commented
你好同学,感谢建议。看了下现状,因为create接口的返回值现在是{ image_key?: string }
,表示所有的数据都会塞在这个对象里,后面可能会往里面追加内容;代码中做了一层兼容:如果接口调用成功但无返回值,那么就返回一个默认对象。这也是符合语义的。
({}).image_key会返回undefined,业务代码里可以加个判断?
HappyYA commented
问号的含义不就是里面的参数可选吗?{ image_key?: string }
这个类型不就是代表返回值是{image_key: string}
或者{}
吗?
mazhe-nerd commented
在这个场景下是这样哈。我补充一些背景:
- code-gen中的代码是拉开放平台文档的描述数据自动生成的,需要兼容所有返回值的情况,有些api返回值中的内容并不都是可选的。
- api的入参和出参会随着业务迭代而变动。
- 需要兼容api调用成功,但是返回值为null的异常情况。
在以上3个背景下,直接用统一的处理方式会比较适当。当然,针对这个api的场景,返回值的类型描述为{ image_key?: string }
是最佳的,但如果对所有特殊场景做优化的话,必要性上需要找一个判断。
HappyYA commented
mazhe-nerd commented
这确实是一个问题,在使用上很不方便。我统计了下现在拉到的数据,这类场景可以做这个改动。
1.16.1已修复。感谢同学提供建议。