ant-design / ant-design-pro

👨🏻‍💻👩🏻‍💻 Use Ant Design like a Pro!
https://pro.ant.design
MIT License
36.35k stars 8.14k forks source link

🐛 [BUG] openapi把swagger的int64类型生成为string类型 #11077

Closed vvv100 closed 8 months ago

vvv100 commented 9 months ago

🐛 bug 描述

使用 Ant Design Pro 生成 Swagger 对应的前端代码时,发现 Long 类型在 Swagger 中被生成为 string 类型的前端代码 比如下面id和userId给生成成了string类型

📷 复现步骤 | Recurrence steps

type InterfaceInfoVO = { createTime?: string; description?: string; id?: string; isDeleted?: number; method?: string; name?: string; requestHeader?: string; requestParams?: string; responseHeader?: string; sdkToken?: string; status?: number; totalNum?: number; updateTime?: string; url?: string; userId?: string; };

"InterfaceInfoVO": { "title": "InterfaceInfoVO", "type": "object", "properties": { "createTime": { "type": "string", "format": "date-time" }, "description": { "type": "string" }, "id": { "type": "integer", "format": "int64" }, "isDeleted": { "type": "integer", "format": "int32" }, "method": { "type": "string" }, "name": { "type": "string" }, "requestHeader": { "type": "string" }, "requestParams": { "type": "string" }, "responseHeader": { "type": "string" }, "sdkToken": { "type": "string" }, "status": { "type": "integer", "format": "int32" }, "totalNum": { "type": "integer", "format": "int32" }, "updateTime": { "type": "string", "format": "date-time" }, "url": { "type": "string" }, "userId": { "type": "integer", "format": "int64" } } },

vvv100 commented 9 months ago

用的ant design pro v6.0.0

yuyihan666 commented 9 months ago

+1

chenshuai2144 commented 8 months ago

这个问题是关于 openAPI 中的数据类型映射的问题。根据你提供的代码和问题描述,你的 InterfaceInfoVO 类型中的 iduserId 字段在 Swagger 中被定义为 integer 类型,并且使用了 format 属性指定了 int64 格式。然而,在生成的前端代码中,这两个字段被生成成了 string 类型。

这个是因为前端是没办法处理 int64 这么大的数字,为了简单处理转化成了 string

znxnx commented 8 months ago

你好,请问解决了吗